pause-request-body

0.1.1 • Public • Published

pause-request-body

Not Maintained

pause-request-body is no longer being actively developed and has been archived. You are still welcome to use it but you may want to check for any forks that are more actively maintained. If it is of value to you, you are welcome to fork it or start a new project and incorporate its code into your project.

Description

Middleware to pause streaming of the request body until a receiver is ready.

Problem: if any asychronous operations occur in the middleware stack before the request body is parsed, the body will likely no longer be available. The request body stream must be paused until parsing can be done.

The pause-request-body package provides two simple middleware functions. The pauser function should be placed early in the middleware stack, before any middleware that involves asynchronous operations. The resumer function should occur just before the body is parsed. The request body stream will be paused between the two.

Getting Started

Install the module with: npm install pause-request-body

//Connect middleware stack:
var pause_request_body = require( 'pause-request-body' );
var app= connect()
  // ...
  .use(pause_request_body.pauser())
  //.use(other middleware that may include asynchronous operations)
  .use(pause_request_body.resumer())
  //.use(bodyParser or other middleware that parses or loads the body)
  // ...
  .listen(80)
//Express middleware stack:
var pause_request_body = require( 'pause-request-body' );
var app = express();
app.configure(function (){
  // ...
  app.use(pause_request_body.pauser())
  //app.use(other middleware that may include asynchronous operations)
  app.use(pause_request_body.resumer())
  //app.use(bodyParser or other middleware that parses or loads the body)
  // ...
})

Release History

(Nothing yet)

Build Status

License

Copyright (c) 2013 Randy McLaughlin Licensed under the MIT license.

Readme

Keywords

none

Package Sidebar

Install

npm i pause-request-body

Weekly Downloads

1

Version

0.1.1

License

none

Unpacked Size

6.88 kB

Total Files

8

Last publish

Collaborators

  • randymized