func Compress(req zerver.Request, resp zerver.Response, chain zerver.FilterChain) { encoding := req.AcceptEncodings() if strings.Contains(encoding, zerver.ENCODING_GZIP) { resp.SetContentEncoding(zerver.ENCODING_GZIP) resp.Wrap(gzipWrapper) } else if strings.Contains(encoding, zerver.ENCODING_DEFLATE) { resp.SetContentEncoding(zerver.ENCODING_DEFLATE) resp.Wrap(flateWrapper) } else { chain(req, resp) return } chain(req, resp) resp.RemoveHeader("Content-Length") }