reverse-http

A reverse HTTP client

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
reverse-http
4101.3.07 years ago8 years agoMinified + gzip package size for reverse-http in KB

Readme

reverse-http
Create a reverse HTTP connection to an HTTP server that supports Reverse HTTP.
Build status js-standard-style

Installation

npm install reverse-http --save

Usage

var reverseHttp = require('reverse-http')

var opts = {
  hostname: 'example.com',
  path: '/foo'
}

// Open an HTTP connection to example.com and accept reverse HTTP
// requests back to this machine
reverseHttp(opts, function (req, res) {
  console.log('Incoming request:', req.method, req.url)

  res.writeHead(201, {
    'Content-Type': 'text/plain',
    'Content-Length': 11
  })

  res.end('Hello World')
})

API

var server = reverseHttp(options[, onRequest])

Create a reverse HTTP connection to the HTTP server specificed in options. Returns an instance of ReverseServer. The ReverseServer inherits from http.Server and as such exposes the same API.
Besides the regular options inherited from http.request the following special options are also available:
  • tls - create an https connection (default: false)
  • rejectUnauthorized - if true, the server certificate is verified
(default: true)
Note that the HTTP method defaults to POST.
The optional onRequest callback will be attached as a listener to the request event.
The following headers are added by default to the establishing outgoing HTTP request:
Upgrade: PTTH/1.0
Connection: Upgrade
Content-Length: 0

server.destroy()

Close the server and destroy the socket.

License

MIT