Documentation ¶
Index ¶
Constants ¶
View Source
const (
// MinSize is the minimum size of content we will compress
MinSize = 1400
)
Variables ¶
This section is empty.
Functions ¶
func Middleware ¶
func Middleware(options ...Options) macaron.Handler
Middleware creates a macaron.Handler to proxy the response
Types ¶
type Options ¶
type Options struct {
CompressionLevel int
}
Options represents the configuration for the gzip middleware
type ProxyResponseWriter ¶
type ProxyResponseWriter struct { macaron.ResponseWriter // contains filtered or unexported fields }
ProxyResponseWriter is a wrapped macaron ResponseWriter that may compress its contents
func (*ProxyResponseWriter) Close ¶
func (proxy *ProxyResponseWriter) Close() error
Close the writer
func (*ProxyResponseWriter) Hijack ¶
func (proxy *ProxyResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
Hijack implements http.Hijacker. If the underlying ResponseWriter is a Hijacker, its Hijack method is returned. Otherwise an error is returned.
func (*ProxyResponseWriter) Write ¶
func (proxy *ProxyResponseWriter) Write(b []byte) (int, error)
Write appends data to the proxied gzip writer.
func (*ProxyResponseWriter) WriteHeader ¶
func (proxy *ProxyResponseWriter) WriteHeader(code int)
WriteHeader will ensure that we have setup the writer before we write the header
type WriterPool ¶
type WriterPool struct {
// contains filtered or unexported fields
}
WriterPool is a gzip writer pool to reduce workload on creation of gzip writers
func NewWriterPool ¶
func NewWriterPool(compressionLevel int) *WriterPool
NewWriterPool creates a new pool
func (*WriterPool) Get ¶
func (wp *WriterPool) Get(rw macaron.ResponseWriter) *gzip.Writer
Get a writer from the pool - or create one if not available
Click to show internal directories.
Click to hide internal directories.