|
24 | 24 | #include <string> |
25 | 25 |
|
26 | 26 | #include "proxygen/lib/http/coro/HTTPCoroSession.h" |
| 27 | +#include "proxygen/lib/http/coro/transport/HTTPConnectStream.h" |
27 | 28 | #include <proxygen/lib/http/codec/HTTPSettings.h> |
28 | 29 | #include <proxygen/lib/http/codec/compress/HeaderCodec.h> |
29 | 30 | #include <proxygen/lib/sampling/Sampling.h> |
@@ -177,15 +178,19 @@ class HTTPCoroConnector { |
177 | 178 | const SessionParams& sessionParams = defaultSessionParams(), |
178 | 179 | std::chrono::milliseconds happyEyeballsTimeout = kHappyEyeballsDelay); |
179 | 180 |
|
180 | | - // For HTTP connections over HTTP CONNECT |
| 181 | + // For HTTP connections over HTTP CONNECT. `connectHeaders` is forwarded |
| 182 | + // to `HTTPConnectStream::connect[Unique]` so callers can inject |
| 183 | + // `Proxy-Authorization` and similar. |
| 184 | + using ConnectHeaderMap = HTTPConnectStream::RequestHeaderMap; |
181 | 185 | static folly::coro::Task<HTTPCoroSession*> proxyConnect( |
182 | 186 | HTTPCoroSession* proxySession, |
183 | 187 | HTTPCoroSession::RequestReservation reservation, |
184 | 188 | std::string authority, |
185 | 189 | bool connectUnique, |
186 | 190 | std::chrono::milliseconds timeout, |
187 | 191 | const ConnectionParams& connParams = defaultConnectionParams(), |
188 | | - const SessionParams& sessionParams = defaultSessionParams()); |
| 192 | + const SessionParams& sessionParams = defaultSessionParams(), |
| 193 | + ConnectHeaderMap connectHeaders = ConnectHeaderMap()); |
189 | 194 |
|
190 | 195 | static folly::coro::Task<HTTPCoroSession*> connect( |
191 | 196 | folly::EventBase* evb, |
|
0 commit comments