reverse-http

1.3.0 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i reverse-http

Weekly Downloads

374

Version

1.3.0

License

MIT

Last publish

Collaborators

  • watson