Socket
Socket
Sign inDemoInstall

connect-entity-cache

Package Overview
Dependencies
2
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    connect-entity-cache

HTTP entity cache with conditional GET support.


Version published
Maintainers
1
Install size
86.1 kB
Created

Readme

Source

connect-entity-cache Build Status Dependency Status

HTTP entity cache with conditional GET support.

connect-entity-cache is a very simple in-memory cache for caching HTTP entities (i.e. contents of files, or some dynamicly generated content), provided as Connect middleware. It supports conditional GET requests (based on If-Last-Modified and/or If-None-Match request headers) for maximum efficiency.

Usinge the cache is a bit like Amazon S3: You need to supply both the entity (file) contents and any headers that you want to be sent with a HTTP response that's served from the cache. Also like S3, you can add content that has already been gzipped, making gzipping at a later stage unnecessary.

The main difference from S3 is that the cache does not have a concept of folders. All entities are uniquely identified by their resource path.

Usage

var ConnectEntityCache = require("connect-entity-cache")
var connect = require("connect")

var cache = new ConnectEntityCache({log: console.log})
cache.cacheEntity("/",new Buffer("Hello World"),{"content-type":"text/plain"})
var app = connect()
app.use(cache)

Configuration

You can pass a log and a warn function to the ConnectEntityCache constructor in an options object, as log and warn, respectively. log defaults to a noop, warn defaults to console.warn.

Notes

  • connect-entity-cache uses infer-entity-headers to infer entity headers.
  • You can provide response headers you want to be sent along. These will always take precedence.
  • If you pass a string instead of a buffer as entity, then the string is assumed to be UTF-8.
  • You can cache gzipped entities. Just make sure you add "content-encoding": "gzip" to the headers.
  • There can be only one entity for each path. There is no content-negotiation.
  • There's currently no way to remove cached entities.
  • connect-entity-cache also properly responds to HEAD and OPTIONS requests.

Credits

The initial structure of this module was generated by Jumpstart, using the Jumpstart Black Coffee template.

License

connect-entity-cache is released under the MIT License.
Copyright (c) 2013 Meryn Stol

FAQs

Last updated on 26 Apr 2013

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc