https://github.com/go-http-utils/fresh
:shamrock:HTTP response freshness testing for Go
https://github.com/go-http-utils/fresh
Last synced: 5 months ago
JSON representation
:shamrock:HTTP response freshness testing for Go
- Host: GitHub
- URL: https://github.com/go-http-utils/fresh
- Owner: go-http-utils
- License: mit
- Created: 2016-11-14T07:33:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-11-24T03:05:52.000Z (over 9 years ago)
- Last Synced: 2025-08-13T22:49:43.829Z (10 months ago)
- Language: Go
- Homepage: https://godoc.org/github.com/go-http-utils/fresh
- Size: 11.7 KB
- Stars: 3
- Watchers: 0
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fresh
[](https://travis-ci.org/go-http-utils/fresh)
[](https://coveralls.io/github/go-http-utils/fresh?branch=master)
HTTP response freshness testing for Go
## Installation
```sh
go get -u github.com/go-http-utils/fresh
```
## Documentation
API documentation can be found here: https://godoc.org/github.com/go-http-utils/fresh
## Usage
```go
import (
"net/http"
"github.com/go-http-utils/fresh"
"github.com/go-http-utils/headers"
)
```
```go
reqHeader, resHeader := make(http.Header), make(http.Header)
reqHeader.Set(headers.IfNoneMatch, "foo")
resHeader.Set(headers.ETag, "bar")
fresh.IsFresh(reqHeader, resHeader)
// -> false
```
```go
reqHeader, resHeader := make(http.Header), make(http.Header)
reqHeader.Set(headers.IfMatch, "foo")
resHeader.Set(headers.ETag, "bar")
fresh.IsFresh(reqHeader, resHeader)
// -> true
```
```go
reqHeader, resHeader := make(http.Header), make(http.Header)
reqHeader.Set(headers.IfModifiedSince, "Mon, 14 Nov 2016 22:05:49 GMT")
resHeader.Set(headers.LastModified, "Mon, 14 Nov 2016 22:05:47 GMT")
fresh.IsFresh(reqHeader, resHeader)
// -> true
```
```go
reqHeader, resHeader := make(http.Header), make(http.Header)
resHeader.Set(headers.IfUnmodifiedSince, "Mon, 14 Nov 2016 22:05:47 GMT")
reqHeader.Set(headers.LastModified, "Mon, 14 Nov 2016 22:05:49 GMT")
fresh.IsFresh(reqHeader, resHeader)
// -> true
```