Skip to content

watson/reverse-http

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A reverse HTTP client

Resources

License

Stars

Watchers

Forks

Packages

No packages published