middleware

package
v1.2.803 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2023 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompressHandler

func CompressHandler(listener interfaces.Listener, h http.Handler) http.Handler

CompressHandler gzip compresses HTTP responses for clients that support it via the 'Accept-Encoding' header.

Compressing TLS traffic may leak the page contents to an attacker if the page contains user input: http://security.stackexchange.com/a/102015/12208

func CompressHandlerLevel

func CompressHandlerLevel(listener interfaces.Listener, h http.Handler, level int) http.Handler

CompressHandlerLevel gzip compresses HTTP responses with specified compression level for clients that support it via the 'Accept-Encoding' header.

The compression level should be gzip.DefaultCompression, gzip.NoCompression, or any integer value between gzip.BestSpeed and gzip.BestCompression inclusive. gzip.DefaultCompression is used in case of invalid compression level.

func CompressWriter added in v1.2.8

func CompressWriter(w http.ResponseWriter) (io.WriteCloser, string)

func FinalHandler added in v0.0.7

func FinalHandler(h http.Handler, k int, interceptor []interfaces.Interceptor) http.Handler

func Init

func Init(listener interfaces.Listener, route *mux.Router, h http.Handler) http.Handler

func Interceptor added in v0.0.7

func Interceptor(listener interfaces.Listener, h http.Handler) http.Handler

func NewPanicOutput

func NewPanicOutput(ctx context.Context, w http.ResponseWriter)

func PanicRecovery

func PanicRecovery(listener interfaces.Listener) func(h http.Handler) http.Handler

func SetCookie added in v1.1.6

func SetCookie(name, value string, w http.ResponseWriter)

Types

type ErrorLogs

type ErrorLogs struct {
	Code string      `json:"Grpc-Status"`
	Msg  interface{} `json:"Grpc-Message"`
}

type HeaderValues

type HeaderValues struct {
	AcceptEncoding string
}

type PanicMessage

type PanicMessage struct {
	Message interface{} `json:"message"`
	TraceID string      `json:"traceId"`
}

type ResponseWriter

type ResponseWriter struct {
	Request *http.Request
	http.ResponseWriter
	Buffer *bytes.Buffer

	BeforeFlush       func([]byte)
	BeforeWriteHeader func(co int)
	StatusCode        int
	// contains filtered or unexported fields
}

func NewResponseWriter

func NewResponseWriter(listener interfaces.Listener, w http.ResponseWriter, r *http.Request) *ResponseWriter

func (*ResponseWriter) Flush

func (c *ResponseWriter) Flush()

func (*ResponseWriter) Header

func (c *ResponseWriter) Header() http.Header

func (*ResponseWriter) ReadFrom

func (c *ResponseWriter) ReadFrom(r io.Reader) (int64, error)

func (*ResponseWriter) Write

func (c *ResponseWriter) Write(b []byte) (n int, e error)

func (*ResponseWriter) WriteHeader

func (c *ResponseWriter) WriteHeader(co int)

Jump to

Keyboard shortcuts

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