shelf_buffer_request

A middleware for shelf that buffers the request so its body can be read multiple times.


License
BSD-3-Clause

Documentation

shelf_buffer_request

A middleware for shelf that buffers the request so its body can be read multiple times.

Usage

A simple usage example:

main() {

  Handler handler = const Pipeline()
  .addMiddleware(logRequests())
  .addMiddleware(bufferRequests())
  .addMiddleware(readBodyMiddleware)
  .addMiddleware(readBodyMiddleware)
  .addMiddleware(readBodyMiddleware)
  .addHandler((request) => new Response.ok("Got it!"));

  io.serve(handler, InternetAddress.ANY_IP_V4, 1234).then((server) {
    print('Serving at http://${server.address.host}:${server.port}');
  });

}

Handler readBodyMiddleware(Handler innerHandler) {
  return (Request request) async {
    var body = await request.read().toList();
    print("The body size was ${body.length}");
    return innerHandler(request);
  };
}

Features and bugs

Please file feature requests and bugs at the issue tracker.