Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cimpress-mcp/request-middleware-framework
A framework to intercept HTTP calls made via the request HTTP client.
https://github.com/cimpress-mcp/request-middleware-framework
request-middleware
Last synced: 2 months ago
JSON representation
A framework to intercept HTTP calls made via the request HTTP client.
- Host: GitHub
- URL: https://github.com/cimpress-mcp/request-middleware-framework
- Owner: Cimpress-MCP
- License: mit
- Created: 2016-09-08T15:35:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-10-19T19:45:37.000Z (over 8 years ago)
- Last Synced: 2024-11-02T00:08:47.311Z (3 months ago)
- Topics: request-middleware
- Language: JavaScript
- Homepage:
- Size: 14.6 KB
- Stars: 6
- Watchers: 16
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# request-middleware-framework
A framework to intercept HTTP calls made via the request HTTP client.
## Installation
npm install request-middleware-framework
## Middleware Definition
The framework simply expects any middleware to be a function of form:
```
function(options, callback, next) {
// Add custom logic here.
next(options, callback);
}
```The ``next()`` call will call the next middleware in the chain. To add any logic on the response, you can modify the callback as follows:
```
function(options, callback, next) {
var _callback = function(err, response, body) {
// Add custom response logic here.
callback(err, response, body);
};
next(options, _callback);
}
```If instead you want to completely short-circuit the HTTP call, you can simply call the callback and provide your own error or response:
```
function(options, callback, next) {
var body = "Everything's fine."
callback(null, { statusCode: 200, body: body }, body);
}
```## Examples
Once you've defined your middleware, you can simply register it by creating a new framework object, and then getting the request object:
```
var requestMiddlewareFramework = new RequestMiddlewareFramework(require("request"), middleware);
var request = requestMiddlewareFramework.getMiddlewareEnabledRequest();
```You can then use returned ``request`` object just like you normally would.
For a full example inside an express app, see the [sample](sample) directory within this repository.
## License
[MIT](LICENSE)