smol package to work with http2 requests
npm install http2-requestSuper smol HTTP/2 request library :package:. Optimized for JSON APIs.
js
var request = require('http2-request')
var fs = require('fs')var opts = {
url: 'https://localhost:8001',
connectOpts: {
ca: fs.readFileSync('~/http2-request/cert.pem')
},
clientOpts: {},
headers: {
':path': '/'
}
}
request(opts, function (err, headers, body) {
if (err) throw err
if (!headers.isOk()) throw new Error(
statusCode is ${headers.statusCode})
console.log('headers', headers)
console.log('body', body)
})
`API
$3
Create a new instance of http2-request. Takes a few options to connect to an
HTTP/2 client and create and HTTP/2 session:
- __opts.headers:__ headers
object to pass in
the request.
- __opts.json:__ Boolean, defaults to true. Returns either a JSON object or a
string when false.
- __opts.url:__ A URL to send a request to. http2-request will create a new object to get the origin
- __opts.clientOpts:__ HTTP/2 session request
opts.
When none are passed, will use defaults.
- __opts.connectOpts:__ HTTP/2 connect
options.
When none are passed, will use defaults. If you're developing locally, pass in
{ rejectUnauthorized: false } to avoid rejections from the server, otherwise
pass in a cert under the ca flag.#### response
Request has a signature of
(err, headers, body):
- __err:__ err from either a connection or a request.
- __headers:__ HTTP/2 errors object returned from the response.
- __body:__ Response body. Will return a string if opts.json is false,
otherwise a JSON object.#### headers.isOK()
A convenience method to see if the response comes back
<=299 for easier error
checking. Returns a boolean.#### headers.statusCode
A convenience method from HTTP/1.1 to read off the status code. You can also do
so by
headers[:status].Install
`bash
npm install http2-request
``[1]: https://img.shields.io/npm/v/http2-request.svg?style=flat-square
[2]: https://npmjs.org/package/http2-request
[3]: https://img.shields.io/travis/lrlna/http2-request/master.svg?style=flat-square
[4]: https://travis-ci.com/lrlna/http2-request
[5]: http://img.shields.io/npm/dm/http2-request.svg?style=flat-square
[6]: https://npmjs.org/package/http2-request
[7]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square
[8]: https://github.com/feross/standard