Releases: tower-rs/tower-http
Releases · tower-rs/tower-http
v0.2.2
v0.2.1
v0.2.0
Added
- builder: Add
ServiceBuilderExt
which adds methods totower::ServiceBuilder
for
adding middleware from tower-http (#106) - request_id: Add
SetRequestId
andPropagateRequestId
middleware (#150) - trace: Add
DefaultMakeSpan::level
to make log level of tracing spans easily configurable (#124) - trace: Add
LatencyUnit::Seconds
for formatting latencies as seconds (#179) - trace: Support customizing which status codes are considered failures by
GrpcErrorsAsFailures
(#189) - compression: Support specifying predicates to choose when responses should
be compressed. This can be used to disable compression of small responses,
responses with a certaincontent-type
, or something user defined (#172) - fs: Ability to serve precompressed files (#156)
- fs: Support
Range
requests (#173) - fs: Properly support HEAD requests which return no body and have the
Content-Length
header set (#169)
Changed
AddAuthorization
,InFlightRequests
,SetRequestHeader
,
SetResponseHeader
,AddExtension
,MapRequestBody
andMapResponseBody
now requires underlying service to usehttp::Request<ReqBody>
and
http::Response<ResBody>
as request and responses (#182) (BREAKING)- set_header: Remove unnecessary generic parameter from
SetRequestHeaderLayer
andSetResponseHeaderLayer
. This removes the need (and possibility) to specify a
body type for these layers (#148) (BREAKING) - compression, decompression: Change the response body error type to
Box<dyn std::error::Error + Send + Sync>
. This makes them usable if
the body they're wrapping usesBox<dyn std::error::Error + Send + Sync>
as
its error type which they previously weren't (#166) (BREAKING) - fs: Change response body type of
ServeDir
andServeFile
to
ServeFileSystemResponseBody
andServeFileSystemResponseFuture
(#187) (BREAKING) - auth: Change
AuthorizeRequest
andAsyncAuthorizeRequest
traits to be simpler (#192) (BREAKING)
Removed
- compression, decompression: Remove
BodyOrIoError
. Its been replaced withBox<dyn std::error::Error + Send + Sync>
(#166) (BREAKING) - compression, decompression: Remove the
compression
anddecompression
feature. They were unnecessary
andcompression-full
/decompression-full
can be used to get full
compression/decompression support. For more granular control,[compression|decompression]-gzip
,
[compression|decompression]-br
and[compression|decompression]-deflate
may
be used instead (#170) (BREAKING)
v0.1.2
- New middleware: Add
Cors
for setting [CORS] headers (#112) - New middleware: Add
AsyncRequireAuthorization
(#118) Compression
: Don't recompress HTTP responses (#140)Compression
andDecompression
: Pass configuration from layer into middleware (#132)ServeDir
andServeFile
: Improve performance (#137)Compression
: Remove needlessResBody::Error: Into<BoxError>
bounds (#117)ServeDir
: Percent decode path segments (#129)ServeDir
: Use correct redirection status (#130)ServeDir
: Return404 Not Found
on requests to directories if
append_index_html_on_directories
is set tofalse
(#122)
tower-http 0.1.1
0.1.1 (July 2, 2021)
- Add example of using
SharedClassifier
. - Add
StatusInRangeAsFailures
which is a response classifier that considers
responses with status code in a certain range as failures. Useful for HTTP
clients where both server errors (5xx) and client errors (4xx) are considered
failures. - Implement
Debug
forNeverClassifyEos
. - Update iri-string to 0.4.
- Add
ClassifyResponse::map_failure_class
andClassifyEos::map_failure_class
for transforming the failure classification using a function. - Clarify exactly when each
Trace
callback is called. - Add
AddAuthorizationLayer
for setting theAuthorization
header on
requests.
Breaking changes
None.