From 60867fb030bae582082340ead7dbc7efdc2f5398 Mon Sep 17 00:00:00 2001 From: 8cy <50817549+8cy@users.noreply.github.com> Date: Fri, 3 Apr 2020 02:37:42 -0700 Subject: 2020/04/03, 02:34, v1.2.0 --- node_modules/http-basic/lib/memory-cache.js | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 node_modules/http-basic/lib/memory-cache.js (limited to 'node_modules/http-basic/lib/memory-cache.js') diff --git a/node_modules/http-basic/lib/memory-cache.js b/node_modules/http-basic/lib/memory-cache.js new file mode 100644 index 0000000..cf1f5a9 --- /dev/null +++ b/node_modules/http-basic/lib/memory-cache.js @@ -0,0 +1,39 @@ +'use strict'; + +var PassThrough = require('stream').PassThrough; +var concat = require('concat-stream'); +var Response = require('http-response-object'); + +module.exports = MemoryCache; +function MemoryCache() { + this._cache = {}; +} + +MemoryCache.prototype.getResponse = function (url, callback) { + var cache = this._cache; + if (cache[url]) { + var body = new PassThrough(); + body.end(cache[url].body); + callback(null, { + statusCode: cache[url].statusCode, + headers: cache[url].headers, + body: body, + requestHeaders: cache[url].requestHeaders, + requestTimestamp: cache[url].requestTimestamp + }); + } else { + callback(null, null); + } +}; +MemoryCache.prototype.setResponse = function (url, response) { + var cache = this._cache; + response.body.pipe(concat(function (body) { + cache[url] = { + statusCode: response.statusCode, + headers: response.headers, + body: body, + requestHeaders: response.requestHeaders, + requestTimestamp: response.requestTimestamp + }; + })); +}; -- cgit v1.2.3