createCompressionMiddleware function
Middleware
createCompressionMiddleware({
- APIResponseCompression compression = const APIResponseCompression(),
- APIResponseCompression resolveCompression(
- Request request,
- Response response
- bool addCompressionRatioHeader = true,
- bool addServerTiming = true,
A Middleware that compresses the responses using compressResponse.
If resolveCompression is provided, it chooses the compression of each
response (e.g., a higher quality for responses that will be cached),
otherwise compression is used.
Implementation
Middleware createCompressionMiddleware({
APIResponseCompression compression = const APIResponseCompression(),
APIResponseCompression Function(Request request, Response response)?
resolveCompression,
bool addCompressionRatioHeader = true,
bool addServerTiming = true,
}) {
return (innerHandler) {
return (request) {
return Future.sync(() => innerHandler(request)).then(
(response) => compressResponse(
request,
response,
compression: resolveCompression != null
? resolveCompression(request, response)
: compression,
addCompressionRatioHeader: addCompressionRatioHeader,
addServerTiming: addServerTiming,
),
);
};
};
}