- Go 100%
| always.go | ||
| errors.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| never.go | ||
| README.md | ||
| recordmediatype.go | ||
| recordmediatype_test.go | ||
| recordmediatypeexceptwhenaccepted.go | ||
| recordmediatypeexceptwhenaccepted_test.go | ||
| responsewriter.go | ||
| responsewritercontroller.go | ||
| responsewritercontrollerfunc.go | ||
| test_test.go | ||
go-httprec
Package httprec provides tools for recording and modifying HTTP responses that are useful for creating middleware, for the Go programming language.
Documention
Online documentation, which includes examples, can be found at: http://godoc.org/codeberg.org/reiver/go-httprec
Example
Package httprec provides an http.ResponseWriter that can be usedto record and modify HTTP responses.
Here is an example of it being used:
type MiddleWare struct {
SubHTTPHandler http.Handler
}
func (recevier MiddleWare) ServeHTTP(responseWriter http.ResponseWriter, request *http.Request) {
// ...
var recordingResponseWriter *httprec.ResponseWriter = httprec.NewResponseWriter(responseWriter, request, controller)
receiver.SubHandler.ServeHTTP(recordingResponseWriter, request)
if !recordingResponseWriter.HasRecording() {
return
}
bytes = recordingResponseWriter.Bytes()
// ...
}
Response Writer Controllers
A response-writer-controller controls whether the httprec.ResponseWriter records or not.
Package httprec comes with some built-in contollers:
httprec.AlwaysRecordmakeshttprec.ResponseWriterto always recordhttprec.NeverRecordmakeshttprec.ResponseWriterto never recordhttprec.RecordMediaTypemakeshttprec.ResponseWriterrecord only if the response of the sub-http.Handlerhas a specified media-type in itsContent-Typehttprec.RecordMediaTypeExceptWhenAcceptedmakeshttprec.ResponseWriterrecord only if the response of the sub-http.Handlerhas a specified media-type in itsContent-Typeand the requestsAcceptdoes not have it
Import
To import package httprec use import code like the following:
import "codeberg.org/reiver/go-httprec"
Installation
To install package httprec do the following:
GOPROXY=direct go get codeberg.org/reiver/go-httprec
Author
Package httprec was written by Charles Iliya Krempeaux