Skip to content

Commit 7665c66

Browse files
authored
Merge pull request #173 from razashariff/fix/enforce-max-message-size
fix: enforce maxMessageSize in readRequestBody
2 parents 1993394 + f97d2bb commit 7665c66

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/transports/http/server.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,17 @@ export class HttpStreamTransport extends AbstractTransport {
222222
}
223223

224224
private async readRequestBody(req: IncomingMessage): Promise<any> {
225+
const maxSize = this._config.maxMessageSize ?? 4 * 1024 * 1024;
225226
return new Promise((resolve, reject) => {
226227
let body = '';
228+
let size = 0;
227229
req.on('data', (chunk) => {
230+
size += chunk.length;
231+
if (size > maxSize) {
232+
req.destroy();
233+
reject(new Error(`Request body exceeds maximum size of ${maxSize} bytes`));
234+
return;
235+
}
228236
body += chunk.toString();
229237
});
230238
req.on('end', () => {

0 commit comments

Comments
 (0)