Narnia's Psychedelic Mushrooms

    @clearonline/express-request-capture

    0.0.3 • Public • Published

    express-request-capture

    Node.js express middleware for capturing HTTP requests and responses

    NPM Version NPM Downloads

    Install

    npm install @clearonline/express-request-capture

    API

    var requestCapture = require ('@clearonline/express-request-capture')

    requestCapture ({ channel: string, url?: string })

    When using this module with express or connect, simply app.use the module. Request information url, request, response, status, latency, and clientIp, is printed/stored to the specified channel!

    var requestCapture = require ('express-request-capture'),
        express = require ('express')
    
    var app = express()
    
    var printAdapter = { channel: 'console|http|mongo|mysql', url: 'required if channel is either http or database' };
    app.use(requestCapture(printAdapter))
    // sample response
    {
        url: "https://alert.clearonline.org/api/v1/subscribe",
        method: "POST",
        status: 200,
        latency: 100,
        request: {
            headers: {
                "Content-Type": "application/json"
            },
            body: {
                email: "hello@clearonline.org",
                trigger: "solar energy"
            },
            host: "localhost:3000",
            clientIp: "192.111.1.1"
        },
        response: {
            header: {
                "Date": "2017-06-02T22:29:44.315Z"
            },
            body: {
                message: "Thank you for subscribing, i will send you notes every monday!"
            }
        }
    }

    Examples

    License

    MIT

    Chanelog

    [06-02-2017] only console is supported

    Blog

    Description

    Monitoring your web app is one the many ways to prevent hackers from breaking your app. In this tutorial, we do this by creating an expressjs middleware that logs all information related to the received request and return response.

    Goal

    Capture all requests (request and response) that my express application handles.

    Step by Step

    • initialize npm package
    mkdir express-request-capture && cd express-request-capture
    npm init -y
    • create index.js file
    # this will be the entry/main file of our middleware
    touch index.js
    • add content to index.js file
    module.exports = require('./src/capture.js')
    • create the src folder
    mkdir src
    • create a capture.js file inside src

    • put logic inside the capture.js file

    • publish to npm

    npm login
    npm publish
      1. use the middleware

    Keywords

    none

    Install

    npm i @clearonline/express-request-capture

    DownloadsWeekly Downloads

    4

    Version

    0.0.3

    License

    ISC

    Last publish

    Collaborators

    • nshimiye