2.0.0-alpha • Published 5 years ago

http-request-builder v2.0.0-alpha

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

http-request-builder

Build HTTP request message from an object model. Can be used on server and client sides. To parse request message and create an object model for it, use http-request-parser.

Build Status Code Coverage npm version

Features

  • Build HTTP request message:
    • headers (with parameters)
    • cookies
    • body (with supported contentTypes: multipart/form-data, application/x-www-form-urlencoded, text/plain)

Installation

$ npm i -S http-request-builder

Usage

const builder = require('http-request-builder');

let requestObj = { 
  method: 'GET',
  protocol: 'HTTP',
  url: 'example.com/features?p1=v1',
  protocolVersion: 'HTTP/1.1',
  host: 'example.com',
  headers: [ 
    { name: 'Connection', values: [ { value: 'keep-alive' } ] },
    { name: 'Cache-Control', values: [ { value: 'no-cache' } ] },
    { name: 'User-Agent', values: [ { value: 'Mozilla/5.0 (Windows NT 6.1 WOW64)' } ]},
    { name: 'Accept', values: [ { value: '*/*' } ] },
    { name: 'Accept-Encoding', values: [ 
      { value: 'gzip' },
      { value: 'deflate' }
    ]},
    { name: 'Accept-Language', values: [
      { value: 'en-US', params: 'q=0.6' },
      { value: 'en', params: 'q=0.4' } 
    ]}
  ],
  cookie: [
    { name: 'csrftoken', value: '123abc' },
    { name: 'sessionid', value: '456def' }
  ]
};

let requestMsg = builder.build(requestObj);
console.log(requestMsg);

/* prints:
GET http://app.com/features?p1=v1 HTTP/1.1
Host: app.com
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1 WOW64)
Accept: /
Accept-Encoding: gzip, deflate
Accept-Language: en-US;q=0.6, en;q=0.4
Cookie: csrftoken=123abc; sessionid=456def


*/

Author

Alexander Mac

License

Licensed under the MIT license.

2.0.0-alpha

5 years ago

1.2.0

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago