http2-proxy
Advanced tools
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 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
115
13595
280