Skip to content
HTTP Proxy that searches for Host header and avoids any parsing
JavaScript
Latest commit 7de8f79 Apr 19, 2013 @mikeal 0.1.1
Failed to load latest commit information.
tests Initial commit. Apr 19, 2013
README.md Initial commit. Apr 19, 2013
index.js Initial commit. Apr 19, 2013
package.json 0.1.1 Apr 19, 2013

README.md

Pure TCP HTTP Proxy

hostproxy is a pure TCP proxy for HTTP. It does not fully parse HTTP, it simply searches for the Host header and injects other headers in to the stream.

API

var hostproxy = require('hostproxy')
  , net = require('net')
  ;

hostproxy(function (host) {
  if (host === 'mysite.com') return net.connect(80, 'mysite.com')
  return net.connect(80, 'fallback.com')
}).listen(80)

If no host header is present then host will be null.

hostproxy(function (host) {
  if (!host) return // returning nothing will force disconnect the client
  return net.connect(80, host)
}).listen(80)

What about adding headers?

hostproxy(function (host, addHeader, address) {
  addHeader('x-forwarded-for', address.address)
  return net.connect(80, host || 'fallback.com')
}).listen(80)

The address param is the return value from socket.address().

Something went wrong with that request. Please try again.