fresh

package module
v0.0.0-...-7231e26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2016 License: MIT Imports: 4 Imported by: 8

README

fresh

Build Status Coverage Status

HTTP response freshness testing for Go

Installation

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

import (
  "net/http"

  "github.com/go-http-utils/fresh"
  "github.com/go-http-utils/headers"
)
reqHeader, resHeader := make(http.Header), make(http.Header)

reqHeader.Set(headers.IfNoneMatch, "foo")
resHeader.Set(headers.ETag, "bar")

fresh.IsFresh(reqHeader, resHeader)
// -> false
reqHeader, resHeader := make(http.Header), make(http.Header)

reqHeader.Set(headers.IfMatch, "foo")
resHeader.Set(headers.ETag, "bar")

fresh.IsFresh(reqHeader, resHeader)
// -> true
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
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

Documentation

Overview

Example
package main

import (
	"fmt"
	"net/http"

	"github.com/go-http-utils/fresh"
)

func main() {
	reqHeader, resHeader := make(http.Header), make(http.Header)

	reqHeader.Set("if-none-match", "foo")
	resHeader.Set("etag", "bar")

	fmt.Println(fresh.IsFresh(reqHeader, resHeader))
	// -> false

	reqHeader, resHeader = make(http.Header), make(http.Header)

	reqHeader.Set("if-modified-since", "Mon, 14 Nov 2016 22:05:49 GMT")
	resHeader.Set("last-modified", "Mon, 14 Nov 2016 22:05:47 GMT")

	fmt.Println(fresh.IsFresh(reqHeader, resHeader))
	// -> true
}
Output:

Index

Examples

Constants

View Source
const Version = "0.4.0"

Version is this package's verison

Variables

This section is empty.

Functions

func IsFresh

func IsFresh(reqHeader http.Header, resHeader http.Header) bool

IsFresh check whether cache can be used in this HTTP request

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL