| Safe Haskell | None |
|---|
Snap.Util.GZip
- withCompression :: MonadSnap m => m a -> m ()
- withCompression' :: MonadSnap m => Set ByteString -> m a -> m ()
- noCompression :: MonadSnap m => m ()
Documentation
Runs a Snap web handler with compression if available.
If the client has indicated support for gzip or compress in its
Accept-Encoding header, and the Content-Type in the response is one of
the following types:
application/x-javascript
text/css
text/html
text/javascript
text/plain
text/xml
application/x-font-truetype
Then the given handler's output stream will be compressed,
Content-Encoding will be set in the output headers, and the
Content-Length will be cleared if it was set. (We can't process the
stream in O(1) space if the length is known beforehand.)
The wrapped handler will be run to completion, and then the Response
that's contained within the Snap monad state will be passed to
finishWith to prevent further processing.
Arguments
| :: MonadSnap m | |
| => Set ByteString | set of compressible MIME types |
| -> m a | the web handler to run |
| -> m () |
The same as withCompression, with control over which MIME types to
compress.
noCompression :: MonadSnap m => m ()Source
Turn off compression by setting "Content-Encoding: identity" in the response headers.