content_length_validator 1.2.1
SDKdartflutter
Platformandroidioswindowslinuxmacosweb
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',
),
),
),
),