Skip to content

jxstxn1/dart_content_length_validator

Repository files navigation

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',
        ),
      ),
    ),
  ),

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages