Create a reverse HTTP connection to an HTTP server that supports Reverse HTTP.
npm install reverse-http --save
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')
})
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
- iftrue
, 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
Close the server and destroy the socket.
MIT