Documentation
¶
Overview ¶
Package httpcache provides conditional request helpers for REST APIs.
The package is dependency-neutral and only works with standard HTTP validators: ETag, Last-Modified, If-None-Match, If-Modified-Since, If-Match, and If-Unmodified-Since.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetValidators ¶
func SetValidators(w http.ResponseWriter, validators Validators)
SetValidators writes ETag and Last-Modified response headers when present.
func WriteNotModified ¶
func WriteNotModified(w http.ResponseWriter, validators Validators)
WriteNotModified writes a 304 response with validators and no body.
func WritePreconditionFailed ¶
func WritePreconditionFailed(w http.ResponseWriter)
WritePreconditionFailed writes a 412 Problem Details response.
Types ¶
type Decision ¶
Decision describes the result of evaluating conditional request headers.
func EvaluateRead ¶
func EvaluateRead(r *http.Request, validators Validators) Decision
EvaluateRead evaluates conditional read headers for GET or HEAD handlers.
func EvaluateWrite ¶
func EvaluateWrite(r *http.Request, validators Validators) Decision
EvaluateWrite evaluates write preconditions for unsafe handlers.
type ETag ¶
type ETag string
ETag is an HTTP entity tag, including quotes and optional weak prefix.
func StrongETag ¶
StrongETag builds a strong ETag from an opaque value.
type Validators ¶
Validators are the current validators for a representation.