Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gregjones/httpcache
A Transport for http.Client that will cache responses according to the HTTP RFC
https://github.com/gregjones/httpcache
cache go http transport
Last synced: 2 months ago
JSON representation
A Transport for http.Client that will cache responses according to the HTTP RFC
- Host: GitHub
- URL: https://github.com/gregjones/httpcache
- Owner: gregjones
- License: mit
- Archived: true
- Created: 2012-12-17T19:13:29.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2023-04-20T16:59:34.000Z (over 1 year ago)
- Last Synced: 2024-10-29T19:59:54.306Z (2 months ago)
- Topics: cache, go, http, transport
- Language: Go
- Size: 117 KB
- Stars: 743
- Watchers: 20
- Forks: 171
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-golang-repositories - httpcache
README
httpcache
=========[![Build Status](https://travis-ci.org/gregjones/httpcache.svg?branch=master)](https://travis-ci.org/gregjones/httpcache) [![GoDoc](https://godoc.org/github.com/gregjones/httpcache?status.svg)](https://godoc.org/github.com/gregjones/httpcache)
Package httpcache provides a http.RoundTripper implementation that works as a mostly [RFC 7234](https://tools.ietf.org/html/rfc7234) compliant cache for http responses.
It is only suitable for use as a 'private' cache (i.e. for a web-browser or an API-client and not for a shared proxy).
This project isn't actively maintained; it works for what I, and seemingly others, want to do with it, and I consider it "done". That said, if you find any issues, please open a Pull Request and I will try to review it. Any changes now that change the public API won't be considered.
Cache Backends
--------------- The built-in 'memory' cache stores responses in an in-memory map.
- [`github.com/gregjones/httpcache/diskcache`](https://github.com/gregjones/httpcache/tree/master/diskcache) provides a filesystem-backed cache using the [diskv](https://github.com/peterbourgon/diskv) library.
- [`github.com/gregjones/httpcache/memcache`](https://github.com/gregjones/httpcache/tree/master/memcache) provides memcache implementations, for both App Engine and 'normal' memcache servers.
- [`sourcegraph.com/sourcegraph/s3cache`](https://sourcegraph.com/github.com/sourcegraph/s3cache) uses Amazon S3 for storage.
- [`github.com/gregjones/httpcache/leveldbcache`](https://github.com/gregjones/httpcache/tree/master/leveldbcache) provides a filesystem-backed cache using [leveldb](https://github.com/syndtr/goleveldb/leveldb).
- [`github.com/die-net/lrucache`](https://github.com/die-net/lrucache) provides an in-memory cache that will evict least-recently used entries.
- [`github.com/die-net/lrucache/twotier`](https://github.com/die-net/lrucache/tree/master/twotier) allows caches to be combined, for example to use lrucache above with a persistent disk-cache.
- [`github.com/birkelund/boltdbcache`](https://github.com/birkelund/boltdbcache) provides a BoltDB implementation (based on the [bbolt](https://github.com/coreos/bbolt) fork).If you implement any other backend and wish it to be linked here, please send a PR editing this file.
License
-------- [MIT License](LICENSE.txt)