summaryrefslogtreecommitdiff
path: root/node_modules/http-basic/lib/file-cache.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/http-basic/lib/file-cache.js')
-rw-r--r--node_modules/http-basic/lib/file-cache.js62
1 files changed, 0 insertions, 62 deletions
diff --git a/node_modules/http-basic/lib/file-cache.js b/node_modules/http-basic/lib/file-cache.js
deleted file mode 100644
index 9b90582..0000000
--- a/node_modules/http-basic/lib/file-cache.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var path = require('path');
-var crypto = require('crypto');
-var Response = require('http-response-object');
-
-module.exports = FileCache;
-function FileCache(location) {
- this._location = location;
-}
-
-FileCache.prototype.getResponse = function (url, callback) {
- var key = path.resolve(this._location, getCacheKey(url));
-
- fs.readFile(key + '.json', 'utf8', function (err, res) {
- if (err && err.code === 'ENOENT') return callback(null, null);
- else if (err) return callback(err);
- try {
- res = JSON.parse(res);
- } catch (ex) {
- return callback(ex);
- }
- var body = fs.createReadStream(key + '.body');
- res.body = body;
- callback(null, res);
- });
-};
-FileCache.prototype.setResponse = function (url, response) {
- var key = path.resolve(this._location, getCacheKey(url));
- var errored = false;
-
- fs.mkdir(this._location, function (err) {
- if (err && err.code !== 'EEXIST') {
- console.warn('Error creating cache: ' + err.message);
- return;
- }
- response.body.pipe(fs.createWriteStream(key + '.body')).on('error', function (err) {
- errored = true;
- console.warn('Error writing to cache: ' + err.message);
- }).on('close', function () {
- if (!errored) {
- fs.writeFile(key + '.json', JSON.stringify({
- statusCode: response.statusCode,
- headers: response.headers,
- requestHeaders: response.requestHeaders,
- requestTimestamp: response.requestTimestamp
- }, null, ' '), function (err) {
- if (err) {
- console.warn('Error writing to cache: ' + err.message);
- }
- });
- }
- });
- });
-};
-
-function getCacheKey(url) {
- var hash = crypto.createHash('sha512')
- hash.update(url)
- return hash.digest('hex')
-}