summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js')
-rw-r--r--deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js b/deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js
new file mode 100644
index 0000000000..6fb050d74c
--- /dev/null
+++ b/deps/npm/node_modules/npm-profile/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/response.js
@@ -0,0 +1,71 @@
+'use strict'
+
+/**
+ * response.js
+ *
+ * Response class provides content decoding
+ */
+
+const STATUS_CODES = require('http').STATUS_CODES
+const Headers = require('./headers.js')
+const Body = require('./body.js')
+const clone = Body.clone
+
+/**
+ * Response class
+ *
+ * @param Stream body Readable stream
+ * @param Object opts Response options
+ * @return Void
+ */
+class Response {
+ constructor (body, opts) {
+ if (!opts) opts = {}
+ Body.call(this, body, opts)
+
+ this.url = opts.url
+ this.status = opts.status || 200
+ this.statusText = opts.statusText || STATUS_CODES[this.status]
+
+ this.headers = new Headers(opts.headers)
+
+ Object.defineProperty(this, Symbol.toStringTag, {
+ value: 'Response',
+ writable: false,
+ enumerable: false,
+ configurable: true
+ })
+ }
+
+ /**
+ * Convenience property representing if the request ended normally
+ */
+ get ok () {
+ return this.status >= 200 && this.status < 300
+ }
+
+ /**
+ * Clone this response
+ *
+ * @return Response
+ */
+ clone () {
+ return new Response(clone(this), {
+ url: this.url,
+ status: this.status,
+ statusText: this.statusText,
+ headers: this.headers,
+ ok: this.ok
+ })
+ }
+}
+
+Body.mixIn(Response.prototype)
+
+Object.defineProperty(Response.prototype, Symbol.toStringTag, {
+ value: 'ResponsePrototype',
+ writable: false,
+ enumerable: false,
+ configurable: true
+})
+module.exports = Response