New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

node-proxy-cache

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-proxy-cache

A proxy that you can cache the calls between a server and here to avoid caching

latest
Source
npmnpm
Version
1.3.0
Version published
Weekly downloads
3
Maintainers
1
Weekly downloads
 
Created
Source

Node Proxy Cache Build Status

proxy cache is a module that allows you to run a proxy server that will cache request.

Install

$ npm install node-proxy-cache

Usage

var ProxyCache = require( 'node-proxy-cache' ),
    proxyCache = new ProxyCache({}),
    DS = {};
    
proxyCache.when( /google/, {
    getKey: function( path, query ) { // allows you to generate keys
        return 'foo:' + path; 
    },
    headers: {
        'X-Bar': 'Baz' // set custom headers when sending to proxy
    },
    caching: false // don't cache responses from google
});

proxyCache.when( /foo.org/, {
    cacheTime: function( cacheEntry, req, proxyRes ) {
        if ( cacheEntry.body.length > 10000000 ) {
            return -1; // don't cache big responses
        }

        if ( req.url.match( /bar/) ) {
            return 0; // cache bar stuff forever
        }

        if ( proxyRes.statusCode === 404 ) {
            return -1; // don't cache 404 responses
        }

        return 10000; // only cache for 10 seconds
    }  
});

proxyCache.store({ // custom storeAdapter
    get: function( key, callback ) {
        callback( null, DS[key] ); // getting information
    },
    set: function( key, value, callback ) { // setting values to store
        DS[ key ] = value; // value.body is a buffer 
        callback( );
    }
});

proxy.listen( 9000 ); // listen on port
Hitting server
$ curl -L -G -d "\$url=http://google.com" http://localhost:9000/

to set the url of the page to proxy to, set the $url param. Also if you need to specify a path you can either do that in the $url param or on the original.

$ curl -L -G -d "\$url=http://google.com" http://localhost:9000/imghp

or

$ curl -L -G -d "\$url=http://google.com/imghp" http://localhost:9000

Keywords

node

FAQs

Package last updated on 19 Dec 2014

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