Noosphere Possibilities Maximized

    @tusbar/cache-control
    TypeScript icon, indicating that this package has built-in type declarations

    0.6.1 • Public • Published

    cache-control

    Format and parse HTTP Cache-Control header

    npm version codecov XO code style

    CI

    Tests Release

    Getting started

    $ npm install @tusbar/cache-control

    API

    This library exposes a CacheControl class and two shortcut methods: parse() and format().

    parse(header)

    const {parse} = require('@tusbar/cache-control')

    parse() takes Cache-Control HTTP header value and returns a CacheControl instance.

    For example, parse('max-age=31536000, public') will return

    CacheControl {
      maxAge: 31536000,
      sharedMaxAge: null,
      maxStale: false,
      maxStaleDuration: null,
      minFresh: null,
      immutable: false,
      mustRevalidate: false,
      noCache: false,
      noStore: false,
      noTransform: false,
      onlyIfCached: false,
      private: false,
      proxyRevalidate: false,
      public: true,
      staleIfError: null,
      staleWhileRevalidate: null }

    format(cacheControl)

    const {format} = require('@tusbar/cache-control')

    format() takes a CacheControl instance (or similar object) and returns a Cache-Control HTTP header value.

    For example, format({maxAge: 31536000, public: true}) will return

    max-age=31536000, public

    Example usage

    res.setHeader('Cache-Control', format({
      public: true,
      immutable: true
    }))

    FAQ

    Why another cache-control library?

    None of the existing libraries focus on just parsing the Cache-Control headers. There are some that expose Express (or connect-like) middlewares, and some unmaintained other ones that do rudimentary parsing of the header. The idea of this module is to parse the header according to the RFC with no further analysis or integration.

    See also

    • cachecontrol: Golang HTTP Cache-Control Parser and Interpretation

    License

    MIT

    Miscellaneous

        ╚⊙ ⊙╝
      ╚═(███)═╝
     ╚═(███)═╝
    ╚═(███)═╝
     ╚═(███)═╝
      ╚═(███)═╝
       ╚═(███)═╝
    

    Install

    npm i @tusbar/cache-control

    DownloadsWeekly Downloads

    4,829

    Version

    0.6.1

    License

    MIT

    Unpacked Size

    22.2 kB

    Total Files

    5

    Last publish

    Collaborators

    • tusbar