content_length_validator 1.1.1 content_length_validator: ^1.1.1 copied to clipboard
Middleware for Shelf and Dart Frog to block too large requests.
Dart Content Length Validator #
Ensures that your application is not vulnerable to large payload attacks. Inspired by https://github.com/ericmdantas/express-content-length-validator
Installing #
dart pub add content_length_validator
Usage #
As shelf middleware #
import 'package:content_length_validator/content_length_validator.dart';
var handler = const Pipeline()
.addMiddleware(
maxContentLengthValidator(
maxContentLength: YOUR_CONTENT_LENGTH,
),
)
.addMiddleware(logRequests())
.addHandler(_echoRequest);
As dart_frog middleware #
import 'package:content_length_validator/content_length_validator.dart';
Handler maxContentLengthValidator(Handler handler) {
return handler.use(fromShelfMiddleware(maxContentLengthValidator(maxContentLength: YOUR_CONTENT_LENGTH,)));
}
Defining custom error response #
.addMiddleware(
maxContentLengthValidator(
maxContentLength: YOUR_CONTENT_LENGTH,
errorResponse: Response(
413,
body: 'Your body is too long',
),
),
),
),