diff --git a/src/request.js b/src/request.js index ceee460..ceedec4 100644 --- a/src/request.js +++ b/src/request.js @@ -33,7 +33,7 @@ class HttpRequest extends Readable { } _read (size) { - return this.slice(0, size) + return this.slice ? this.slice(0, size) : size } } diff --git a/src/server.js b/src/server.js index b7bb963..acf004a 100644 --- a/src/server.js +++ b/src/server.js @@ -34,6 +34,10 @@ module.exports = (config = {}) => { const method = reqWrapper.method if (method !== 'HEAD') { // 0http's low checks also that method !== 'GET', but many users would send request body with GET, unfortunately res.onData((bytes, isLast) => { + if (!bytes.byteLength) { + if (!isLast) return + return handler(reqWrapper, resWrapper) + } const chunk = Buffer.from(bytes) if (isLast) { reqWrapper.push(chunk)