summaryrefslogtreecommitdiffstats
path: root/node_modules/unzip-response
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/unzip-response')
-rw-r--r--node_modules/unzip-response/index.js36
-rw-r--r--node_modules/unzip-response/license21
-rw-r--r--node_modules/unzip-response/package.json81
-rw-r--r--node_modules/unzip-response/readme.md29
4 files changed, 167 insertions, 0 deletions
diff --git a/node_modules/unzip-response/index.js b/node_modules/unzip-response/index.js
new file mode 100644
index 0000000..e97b993
--- /dev/null
+++ b/node_modules/unzip-response/index.js
@@ -0,0 +1,36 @@
+'use strict';
+const PassThrough = require('stream').PassThrough;
+const zlib = require('zlib');
+
+module.exports = res => {
+ // TODO: use Array#includes when targeting Node.js 6
+ if (['gzip', 'deflate'].indexOf(res.headers['content-encoding']) === -1) {
+ return res;
+ }
+
+ const unzip = zlib.createUnzip();
+ const stream = new PassThrough();
+
+ stream.httpVersion = res.httpVersion;
+ stream.headers = res.headers;
+ stream.rawHeaders = res.rawHeaders;
+ stream.trailers = res.trailers;
+ stream.rawTrailers = res.rawTrailers;
+ stream.setTimeout = res.setTimeout.bind(res);
+ stream.statusCode = res.statusCode;
+ stream.statusMessage = res.statusMessage;
+ stream.socket = res.socket;
+
+ unzip.on('error', err => {
+ if (err.code === 'Z_BUF_ERROR') {
+ stream.end();
+ return;
+ }
+
+ stream.emit('error', err);
+ });
+
+ res.pipe(unzip).pipe(stream);
+
+ return stream;
+};
diff --git a/node_modules/unzip-response/license b/node_modules/unzip-response/license
new file mode 100644
index 0000000..32a16ce
--- /dev/null
+++ b/node_modules/unzip-response/license
@@ -0,0 +1,21 @@
+`The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/unzip-response/package.json b/node_modules/unzip-response/package.json
new file mode 100644
index 0000000..7afa323
--- /dev/null
+++ b/node_modules/unzip-response/package.json
@@ -0,0 +1,81 @@
+{
+ "_from": "unzip-response@^2.0.1",
+ "_id": "unzip-response@2.0.1",
+ "_inBundle": false,
+ "_integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "_location": "/unzip-response",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "unzip-response@^2.0.1",
+ "name": "unzip-response",
+ "escapedName": "unzip-response",
+ "rawSpec": "^2.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.1"
+ },
+ "_requiredBy": [
+ "/got"
+ ],
+ "_resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
+ "_shasum": "d2f0f737d16b0615e72a6935ed04214572d56f97",
+ "_spec": "unzip-response@^2.0.1",
+ "_where": "/home/pruss/Dev/3-minute-website/node_modules/got",
+ "bugs": {
+ "url": "https://github.com/sindresorhus/unzip-response/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Unzip a HTTP response if needed",
+ "devDependencies": {
+ "ava": "*",
+ "get-stream": "^2.3.0",
+ "pify": "^2.3.0",
+ "rfpify": "^1.0.0",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/unzip-response#readme",
+ "keywords": [
+ "http",
+ "unzip",
+ "zlib",
+ "gzip",
+ "deflate",
+ "incoming",
+ "message",
+ "response",
+ "stream"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ {
+ "name": "Vsevolod Strukchinsky",
+ "email": "floatdrop@gmail.com",
+ "url": "github.com/floatdrop"
+ }
+ ],
+ "name": "unzip-response",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/unzip-response.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "2.0.1",
+ "xo": {
+ "esnext": true
+ }
+}
diff --git a/node_modules/unzip-response/readme.md b/node_modules/unzip-response/readme.md
new file mode 100644
index 0000000..87a62c4
--- /dev/null
+++ b/node_modules/unzip-response/readme.md
@@ -0,0 +1,29 @@
+# unzip-response [![Build Status](https://travis-ci.org/sindresorhus/unzip-response.svg?branch=master)](https://travis-ci.org/sindresorhus/unzip-response)
+
+> Unzip a HTTP response if needed
+
+Unzips the response from [`http.request`](https://nodejs.org/api/http.html#http_http_request_options_callback) if it's gzipped/deflated, otherwise just passes it through.
+
+
+## Install
+
+```
+$ npm install --save unzip-response
+```
+
+
+## Usage
+
+```js
+const http = require('http');
+const unzipResponse = require('unzip-response');
+
+http.get('http://sindresorhus.com', res => {
+ res = unzipResponse(res);
+});
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)