Dart Content Length Validator
Ensures that your application is not vulnerable to large payload attacks. Inspired by 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',
),
),
),
),
Libraries
- content_length_validator
- Middleware to block to large requests API.