Socket
Socket
Sign inDemoInstall

http2-proxy

Package Overview
Dependencies
Maintainers
1
Versions
193
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http2-proxy - npm Package Compare versions

Comparing version 0.1.22 to 0.2.0

58

index.js

@@ -113,4 +113,13 @@ const http2 = require('http2')

const options = {
method: req.method,
hostname,
port,
path: req.url,
headers,
timeout: proxyTimeout
}
if (onReq) {
onReq(req, headers)
onReq(req, options)
}

@@ -123,10 +132,3 @@

return proxy(req, resOrSocket, {
method: req.method,
hostname,
port,
path: req.url,
headers,
timeout: proxyTimeout
}, onRes, onError)
return proxy(req, resOrSocket, options, onRes, onError)
} catch (err) {

@@ -188,36 +190,12 @@ return onError(err)

resOrSocket.statusCode = proxyRes.statusCode
for (const key of Object.keys(proxyRes.headers)) {
resOrSocket.setHeader(key, proxyRes.headers[key])
}
if (onRes) {
if (onRes.length === 3) {
onRes(req, proxyRes.headers, {
setHeader (key, value) {
proxyRes.headers[sanatizeHeaderName(key)] = value
},
removeHeader (key) {
delete proxyRes.headers[sanatizeHeaderName(key)]
},
getHeader (key) {
return proxyRes.headers[sanatizeHeaderName(key)]
},
hasHeader (key) {
return !!proxyRes.headers[sanatizeHeaderName(key)]
},
get statusCode () {
return proxyRes.statusCode
},
set statusCode (value) {
proxyRes.statusCode = value
},
get statusMessage () {
return proxyRes.statusMessage
},
set statusMessage (value) {
proxyRes.statusMessage = value
}
})
} else {
onRes(req, proxyRes.headers)
}
onRes(req, resOrSocket)
}
resOrSocket.writeHead(proxyRes.statusCode, proxyRes.headers)
resOrSocket.writeHead(resOrSocket.statusCode)
proxyRes.on('end', () => {

@@ -224,0 +202,0 @@ resOrSocket.addTrailers(proxyRes.trailers)

{
"name": "http2-proxy",
"version": "0.1.22",
"version": "0.2.0",
"scripts": {

@@ -5,0 +5,0 @@ "dev": "nodemon --inspect=9308 --expose-http2 src",

@@ -60,3 +60,3 @@ # node-http2-proxy

port: 9000,
onRes: (req, resHeaders, res) => helmet(req, res, () => {})
onRes: (req, res) => helmet(req, res, () => {})
}, err => console.error(err, 'proxy error'))

@@ -73,6 +73,6 @@ })

port: 9000,
onReq: (req, reqHeaders) => {
reqHeaders['x-forwarded-for'] = req.socket.remoteAddress
reqHeaders['x-forwarded-proto'] = req.socket.encrypted ? 'https' : 'http'
reqHeaders['x-forwarded-host'] = req.headers['host']
onReq: (req, { headers }) => {
headers['x-forwarded-for'] = req.socket.remoteAddress
headers['x-forwarded-proto'] = req.socket.encrypted ? 'https' : 'http'
headers['x-forwarded-host'] = req.headers['host']
}

@@ -107,4 +107,8 @@ }, err => console.error(err, 'proxy error'))

- `proxyName`: proxy name used for **Via** header
- `onReq(req, reqHeaders)`: called before proxy request
- `onRes(req, resHeaders, res)`: called before proxy response
- `onReq(req, options)`: called before proxy request
- `req`: `http.IncomingMessage` or `http2.Http2ServerRequest`
- `options`: options passed to `http.ClientRequest`
- `onRes(req, res)`: called before proxy response
- `req`: `http.IncomingMessage` or `http2.Http2ServerRequest`
- `res`: `http.ServerResponse` or `http2.Http2ServerResponse`

@@ -111,0 +115,0 @@ ### License

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc