Skip to content

Commit 6c4dde0

Browse files
committed
feat: onReq now takes (req, proxyReqOptions), instead of (req, headers)
Breaks onReq signature
1 parent f4bafe1 commit 6c4dde0

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ server.on('request', (req, res) => {
6969
proxy.web(req, res, {
7070
hostname: 'localhost'
7171
port: 9000,
72-
onReq: (req, headers) => {
72+
onReq: (req, { headers }) => {
7373
headers['x-forwarded-for'] = req.socket.remoteAddress
7474
headers['x-forwarded-proto'] = req.socket.encrypted ? 'https' : 'http'
7575
headers['x-forwarded-host'] = req.headers['host']
@@ -102,9 +102,9 @@ server.on('request', (req, res) => {
102102
- `timeout`: incoming request timeout
103103
- `proxyTimeout`: proxy request timeout
104104
- `proxyName`: proxy name used for **Via** header
105-
- `onReq(req, headers)`: called before proxy request
105+
- `onReq(req, options)`: called before proxy request
106106
- `req`: `http.IncomingMessage` or `http2.Http2ServerRequest`
107-
- `headers`: `http.ClientRequest.headers`
107+
- `options`: options passed to `http.ClientRequest`
108108
- `onRes(req, res)`: called before proxy response
109109
- `req`: `http.IncomingMessage` or `http2.Http2ServerRequest`
110110
- `res`: `http.ServerResponse` or `http2.Http2ServerResponse`

index.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,23 +110,25 @@ function impl (req, resOrSocket, headOrNil, {
110110
}
111111
}
112112

113+
const options = {
114+
method: req.method,
115+
hostname,
116+
port,
117+
path: req.url,
118+
headers,
119+
timeout: proxyTimeout
120+
}
121+
113122
if (onReq) {
114-
onReq(req, headers)
123+
onReq(req, options)
115124
}
116125

117126
// NOTE http2.Http2ServerRequest doesn't forward stream errors.
118127
const incoming = req.stream || req
119128

120129
incoming.on('error', onError)
121130

122-
return proxy(req, resOrSocket, {
123-
method: req.method,
124-
hostname,
125-
port,
126-
path: req.url,
127-
headers,
128-
timeout: proxyTimeout
129-
}, onRes, onError)
131+
return proxy(req, resOrSocket, options, onRes, onError)
130132
} catch (err) {
131133
return onError(err)
132134
}

0 commit comments

Comments
 (0)