decompress-response
Advanced tools
Comparing version 8.1.0 to 9.0.0
@@ -1,10 +0,10 @@ | ||
import {IncomingMessage, IncomingHttpHeaders} from 'node:http'; | ||
import {type IncomingMessage, type IncomingHttpHeaders} from 'node:http'; | ||
export interface UncompressedIncomingHttpHeaders extends IncomingHttpHeaders { | ||
export type UncompressedIncomingHttpHeaders = { | ||
'content-encoding'?: never; | ||
} | ||
} & IncomingHttpHeaders; | ||
export interface UncompressedIncomingMessage extends IncomingMessage { | ||
export type UncompressedIncomingMessage = { | ||
headers: UncompressedIncomingHttpHeaders; | ||
} | ||
} & IncomingMessage; | ||
@@ -11,0 +11,0 @@ /** |
12
index.js
@@ -12,6 +12,8 @@ import {Transform as TransformStream, PassThrough as PassThroughStream} from 'node:stream'; | ||
delete response.headers['content-encoding']; | ||
let isEmpty = true; | ||
let finalStream = new PassThroughStream(); | ||
// Clone headers to avoid modifying the original response headers | ||
const headers = {...response.headers}; | ||
function handleContentEncoding(data) { | ||
@@ -55,3 +57,3 @@ const decompressStream = contentEncoding === 'br' | ||
const finalStream = new PassThroughStream({ | ||
finalStream = new PassThroughStream({ | ||
autoDestroy: false, | ||
@@ -65,2 +67,6 @@ destroy(error, callback) { | ||
delete headers['content-encoding']; | ||
delete headers['content-length']; | ||
finalStream.headers = headers; | ||
mimicResponse(response, finalStream); | ||
@@ -67,0 +73,0 @@ response.pipe(checker); |
{ | ||
"name": "decompress-response", | ||
"version": "8.1.0", | ||
"version": "9.0.0", | ||
"description": "Decompress a HTTP response if needed", | ||
@@ -14,5 +14,9 @@ "license": "MIT", | ||
"type": "module", | ||
"exports": "./index.js", | ||
"exports": { | ||
"types": "./index.d.ts", | ||
"default": "./index.js" | ||
}, | ||
"sideEffects": false, | ||
"engines": { | ||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0" | ||
"node": ">=18" | ||
}, | ||
@@ -47,10 +51,9 @@ "scripts": { | ||
"devDependencies": { | ||
"@types/node": "^16.11.6", | ||
"ava": "^3.15.0", | ||
"get-stream": "^6.0.1", | ||
"pify": "^5.0.0", | ||
"tsd": "^0.18.0", | ||
"typescript": "^4.4.4", | ||
"xo": "^0.45.0" | ||
"@types/node": "^20.12.12", | ||
"ava": "^6.1.3", | ||
"get-stream": "^8.0.1", | ||
"pify": "^6.1.0", | ||
"tsd": "^0.31.0", | ||
"xo": "^0.58.0" | ||
} | ||
} |
@@ -37,13 +37,1 @@ # decompress-response | ||
The HTTP incoming stream with compressed data. | ||
--- | ||
<div align="center"> | ||
<b> | ||
<a href="https://tidelift.com/subscription/pkg/npm-decompress-response?utm_source=npm-decompress-response&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> | ||
</b> | ||
<br> | ||
<sub> | ||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. | ||
</sub> | ||
</div> |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6
76
5477
37