Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cache-http

Package Overview
Dependencies
Maintainers
9
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cache-http

Caching wrapper for node's http module

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-91.67%
Maintainers
9
Weekly downloads
 
Created
Source

Cached HTTP Client for Node.JS

A Node.JS that adds a transparent cacheing layer to http and https clients.

Installation

$ npm install --save cache-http

Documentation

This is a drop-in replacement for Node's http(s) client. Very little code will need to change to support cacheing.

var cachedHttp = new require('cache-http')('http');
var options = {
  host: <hostname>,
  port: <port>,
  path: <path>,
  method: 'GET',
  'x-cacheable': true,
};
cachedHttp.request(options, callback).end();

The first line, the require returns a constructor that takes one parameter: the protocol it is wrapping. Only http and https are supported.

Only the http(s) GET method is supported. Other methods don't really make much sense to cache.

In order to activate cacheing for any particular request, the "x-cacheable" option must be specified. Otherwise, this module will bypass the cacheing feature. The cache keys are built from authorization key, method, host, port, and path(including parameters). If this is not sufficient to guarantee uniqueness it is best to disable cacheing for that request.

If there is cached data for a request, this cache will always check for new data using the If-Modified-Since header. If the server reports an HTTP 304, it'll return cached data. If the data came from cache, it'll have the x-cached response header.

Testing

The test script is comprehensive. It includes an HTTP server to test against (test-bench), test cases against this test bench, plus many tests against the cached-http as well. These test cases require Mocha to run.

$ cd test $ mocha all.js

Note that some test cases take some time to run and will therefore generate warnings, but they will ultimately pass. Test cases that are meant to take some are clearly marked with the approximate time they are expected to take.

FAQs

Package last updated on 06 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc