Commit 856e0df
committed
Reject oversized proxy responses up front via Content-Length
The streaming cap in readBoundedBody catches oversized bodies, but
only after we've started reading. When the upstream is already
telling us the body is 50 MiB before we read a byte, there's no
reason to spend that bandwidth: we'll bail anyway once the cap
trips.
Check Content-Length right after the Content-Type allowlist and
short-circuit to 404 when it exceeds MAX_BYTES. A missing or
malformed header still falls through to the streaming cap, which
keeps enforcing the limit byte by byte.
New test confirms a 64 MiB advertised body is dropped before the
body read happens.
#483 (comment)
Assisted-by: Claude Code:claude-opus-4-71 parent 739d3ed commit 856e0df
2 files changed
Lines changed: 38 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
195 | 219 | | |
196 | 220 | | |
197 | 221 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
267 | 281 | | |
268 | 282 | | |
269 | 283 | | |
| |||
0 commit comments