Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/keywork/middleware/classes/mod.ts>CompressionMiddleware

A library for building V8 Isolate web apps on Cloudflare Workers, Deno, and Node.JS
Latest
class CompressionMiddleware
extends RequestRouter
import { CompressionMiddleware } from "https://deno.land/x/keywork@v6.2.1/middleware/classes/mod.ts";

Middleware that given a Response with a body, compresses the contents according to a client's Accept-Encoding request header.

import {RequestRouter} from 'keywork/router'

const app = new RequestRouter()
app.use(new CompressionMiddleware('gzip'))

app.get('/', (event) => {
 return 'This body is automatically compressed!'
})

:::info

This middleware is not necessary on Cloudflare as it is automatically applied by the Workers runtime.

::

:::info

Deno Deploy automatically applies compression to responses when possible.

Read more about from Deno Deploy's compression docs.

::

Constructors

new
CompressionMiddleware(
encodings?: CompressionEncoding | CompressionEncoding[],
db?: MimeDatabase,
routerOptions?: RequestRouterOptions,
)

Properties

protected
applyCompression: RouteRequestHandler
protected
optional
db: MimeDatabase
protected
supportedServerEncodings: CompressionEncoding[]