Skip to content

v0.2.0

Compare
Choose a tag to compare
@davidpdrsn davidpdrsn released this 06 Dec 09:42
a8899fc

Added

  • builder: Add ServiceBuilderExt which adds methods to tower::ServiceBuilder for
    adding middleware from tower-http (#106)
  • request_id: Add SetRequestId and PropagateRequestId 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 certain content-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 and MapResponseBody
    now requires underlying service to use http::Request<ReqBody> and
    http::Response<ResBody> as request and responses (#182) (BREAKING)
  • set_header: Remove unnecessary generic parameter from SetRequestHeaderLayer
    and SetResponseHeaderLayer. 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 uses Box<dyn std::error::Error + Send + Sync> as
    its error type which they previously weren't (#166) (BREAKING)
  • fs: Change response body type of ServeDir and ServeFile to
    ServeFileSystemResponseBody and ServeFileSystemResponseFuture (#187) (BREAKING)
  • auth: Change AuthorizeRequest and AsyncAuthorizeRequest traits to be simpler (#192) (BREAKING)

Removed

  • compression, decompression: Remove BodyOrIoError. Its been replaced with Box<dyn std::error::Error + Send + Sync> (#166) (BREAKING)
  • compression, decompression: Remove the compression and decompression feature. They were unnecessary
    and compression-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)