Skip to content

Commit

Permalink
chore(actix-web-lab-derive): prepare release 0.20.0
Browse files Browse the repository at this point in the history
  • Loading branch information
robjtede committed Oct 25, 2023
1 parent f908c91 commit 187dbfa
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 45 deletions.
2 changes: 1 addition & 1 deletion actix-hash/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ sha3 = ["dep:sha3"]
[dependencies]
actix-http = "3"
actix-web = { version = "4", default-features = false }
actix-web-lab = "0.19"
actix-web-lab = "0.20"
futures-core = "0.3.17"
futures-util = { version = "0.3.17", default-features = false, features = ["std"] }
local-channel = "0.1"
Expand Down
2 changes: 1 addition & 1 deletion actix-web-lab-derive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ quote = "1"
syn = { version = "2", features = ["full", "parsing"] }

[dev-dependencies]
actix-web-lab = "=0.19.2"
actix-web-lab = "0.20"

actix-test = "0.1"
actix-web = "4"
Expand Down
3 changes: 3 additions & 0 deletions actix-web-lab/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Unreleased

## 0.20.0

- Add `sse::Sse::from_infallible_stream()` method.
- Add `sse::Sse::{from_receiver, from_infallible_receiver}()` methods.
- Remove `sse::{Sender, ChannelStream}` types.
Expand All @@ -10,6 +12,7 @@
- Remove `sse::{SseSendError, SseTrySendError, SseData, SseMessage}` type aliases.
- Remove `web::Redirect` responder and `web::redirect()` function.
- Remove `guard::Acceptable` guard type.
- Update `ed25519-dalek` dependency to `2`.

## 0.19.2

Expand Down
4 changes: 2 additions & 2 deletions actix-web-lab/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "actix-web-lab"
version = "0.19.2"
version = "0.20.0"
description = "In-progress extractors and middleware for Actix Web"
authors = ["Rob Ede <robjtede@icloud.com>"]
keywords = ["actix", "http", "web", "framework", "async"]
Expand Down Expand Up @@ -76,7 +76,7 @@ actix-web = { version = "4", features = ["rustls"] }
async_zip = { version = "0.0.15", features = ["deflate", "tokio"] }
base64 = "0.21"
digest = "0.10"
ed25519-dalek = "1.0.1"
ed25519-dalek = "2"
env_logger = "0.10"
futures-util = { version = "0.3.7", default-features = false, features = ["std"] }
generic-array = "0.14"
Expand Down
82 changes: 41 additions & 41 deletions actix-web-lab/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<!-- prettier-ignore-start -->

[![crates.io](https://img.shields.io/crates/v/actix-web-lab?label=latest)](https://crates.io/crates/actix-web-lab)
[![Documentation](https://docs.rs/actix-web-lab/badge.svg)](https://docs.rs/actix-web-lab/0.19.2)
[![Documentation](https://docs.rs/actix-web-lab/badge.svg)](https://docs.rs/actix-web-lab/0.20.0)
![MIT or Apache 2.0 licensed](https://img.shields.io/crates/l/actix-web-lab.svg)
<br />
[![dependency status](https://deps.rs/crate/actix-web-lab/0.19.2/status.svg)](https://deps.rs/crate/actix-web-lab/0.19.2)
[![dependency status](https://deps.rs/crate/actix-web-lab/0.20.0/status.svg)](https://deps.rs/crate/actix-web-lab/0.20.0)
[![Download](https://img.shields.io/crates/d/actix-web-lab.svg)](https://crates.io/crates/actix-web-lab)
[![CircleCI](https://circleci.com/gh/robjtede/actix-web-lab/tree/main.svg?style=shield)](https://circleci.com/gh/robjtede/actix-web-lab/tree/main)

Expand All @@ -20,74 +20,74 @@

### Responders

- `Csv`: efficient CSV streaming [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.Csv.html)
- `NdJson`: efficient NDJSON streaming [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.NdJson.html)
- `DisplayStream`: efficient line-by-line `Display` streaming [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.DisplayStream.html)
- `Html`: basic string wrapper that responds with HTML Content-Type [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.Html.html)
- `Cbor`: basic CBOR format wrapper with appropriate Content-Type [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.Cbor.html)
- `MessagePack`: basic MessagePack format wrapper with appropriate Content-Type [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/respond/struct.MessagePack.html)
- `Sse`: semantic server-sent events (SSE) responder with a channel-like interface [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/sse/index.html)
- `Csv`: efficient CSV streaming [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.Csv.html)
- `NdJson`: efficient NDJSON streaming [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.NdJson.html)
- `DisplayStream`: efficient line-by-line `Display` streaming [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.DisplayStream.html)
- `Html`: basic string wrapper that responds with HTML Content-Type [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.Html.html)
- `Cbor`: basic CBOR format wrapper with appropriate Content-Type [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.Cbor.html)
- `MessagePack`: basic MessagePack format wrapper with appropriate Content-Type [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/respond/struct.MessagePack.html)
- `Sse`: semantic server-sent events (SSE) responder with a channel-like interface [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/sse/index.html)

### Middleware

- `from_fn`: use an async function as a middleware [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/fn.from_fn.html)
- `map_response`: use an async function to modify the response [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/fn.map_response.html)
- `map_response_body`: use an async function to modify the response body [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/fn.map_response_body.html)
- `RedirectHttps`: middleware to redirect traffic to HTTPS if connection is insecure with optional HSTS [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.RedirectHttps.html)
- `redirect_to_www`: function middleware to redirect traffic to `www.` if not already there [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/fn.redirect_to_www.html)
- `ErrorHandlers`: alternative error handler middleware with simpler interface [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.ErrorHandlers.html)
- `NormalizePath`: alternative path normalizing middleware with redirect option [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.NormalizePath.html)
- `CatchPanic`: catch panics in wrapped handlers and middleware, returning empty 500 responses [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.CatchPanic.html)
- `PanicReporter`: catch panics in wrapped handlers and middleware, returning empty 500 responses [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.PanicReporter.html)
- `LoadShed`: sheds load when the inner service isn't ready [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/middleware/struct.LoadShed.html)
- `from_fn`: use an async function as a middleware [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/fn.from_fn.html)
- `map_response`: use an async function to modify the response [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/fn.map_response.html)
- `map_response_body`: use an async function to modify the response body [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/fn.map_response_body.html)
- `RedirectHttps`: middleware to redirect traffic to HTTPS if connection is insecure with optional HSTS [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.RedirectHttps.html)
- `redirect_to_www`: function middleware to redirect traffic to `www.` if not already there [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/fn.redirect_to_www.html)
- `ErrorHandlers`: alternative error handler middleware with simpler interface [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.ErrorHandlers.html)
- `NormalizePath`: alternative path normalizing middleware with redirect option [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.NormalizePath.html)
- `CatchPanic`: catch panics in wrapped handlers and middleware, returning empty 500 responses [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.CatchPanic.html)
- `PanicReporter`: catch panics in wrapped handlers and middleware, returning empty 500 responses [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.PanicReporter.html)
- `LoadShed`: sheds load when the inner service isn't ready [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/middleware/struct.LoadShed.html)

### Extractors

- `LazyData`: app data/state initialized on first use [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.LazyData.html)
- `SwapData`: app data/state that can be replaced at runtime (alternative to `Data<RwLock<T>>`) [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.SwapData.html)
- `LocalData`: app data/state that uses an `Rc` internally, avoiding atomic overhead (alternative to `Data<RwLock<T>>`) [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.LocalData.html)
- `Json`: simplified JSON extractor with const-generic payload limits [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.Json.html)
- `Path`: simplified path parameter extractor that supports destructuring [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.Path.html)
- `Query`: simplified query-string extractor that can also collect multi-value items [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.Query.html)
- `RequestSignature`: wraps an extractor and calculates a request signature alongside [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.RequestSignature.html)
- `BodyLimit`: wraps a body extractor and prevents DoS attacks by limiting payload size [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.BodyLimit.html)
- `Bytes`: simplified Bytes extractor with const-generic limits [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.Bytes.html)
- `UrlEncodedForm`: URL-encoded form extractor with const-generic payload size limit [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.UrlEncodedForm.html)
- `Host`: Host information taken from either URL or Host header [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/extract/struct.Host.html)
- `LazyData`: app data/state initialized on first use [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.LazyData.html)
- `SwapData`: app data/state that can be replaced at runtime (alternative to `Data<RwLock<T>>`) [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.SwapData.html)
- `LocalData`: app data/state that uses an `Rc` internally, avoiding atomic overhead (alternative to `Data<RwLock<T>>`) [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.LocalData.html)
- `Json`: simplified JSON extractor with const-generic payload limits [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.Json.html)
- `Path`: simplified path parameter extractor that supports destructuring [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.Path.html)
- `Query`: simplified query-string extractor that can also collect multi-value items [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.Query.html)
- `RequestSignature`: wraps an extractor and calculates a request signature alongside [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.RequestSignature.html)
- `BodyLimit`: wraps a body extractor and prevents DoS attacks by limiting payload size [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.BodyLimit.html)
- `Bytes`: simplified Bytes extractor with const-generic limits [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.Bytes.html)
- `UrlEncodedForm`: URL-encoded form extractor with const-generic payload size limit [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.UrlEncodedForm.html)
- `Host`: Host information taken from either URL or Host header [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/extract/struct.Host.html)

### Macros

- `FromRequest`: Derive macro to implement `FromRequest` on an aggregate struct of other extractors [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/derive.FromRequest.html)
- `FromRequest`: Derive macro to implement `FromRequest` on an aggregate struct of other extractors [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/derive.FromRequest.html)

### Headers

- `StrictTransportSecurity`: Strict-Transport-Security (HSTS) configuration [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/header/struct.StrictTransportSecurity.html)
- `CacheControl`: Cache-Control typed header with support for modern directives [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/header/struct.CacheControl.html)
- `ContentLength`: Content-Length typed header [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/header/struct.ContentLength.html)
- `Forwarded`: Proxy and original client info [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/header/struct.Forwarded.html)
- `StrictTransportSecurity`: Strict-Transport-Security (HSTS) configuration [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/header/struct.StrictTransportSecurity.html)
- `CacheControl`: Cache-Control typed header with support for modern directives [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/header/struct.CacheControl.html)
- `ContentLength`: Content-Length typed header [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/header/struct.ContentLength.html)
- `Forwarded`: Proxy and original client info [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/header/struct.Forwarded.html)

### Body Types

- `channel`: a simple channel-like body type with a sender side that can be used from another thread [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/body/fn.channel.html)
- `writer`: a simple `AsyncWrite` body type [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/body/fn.writer.html)
- `channel`: a simple channel-like body type with a sender side that can be used from another thread [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/body/fn.channel.html)
- `writer`: a simple `AsyncWrite` body type [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/body/fn.writer.html)

### Services

- `Redirect`: (graduated 🎉) simple redirects [(docs)](https://docs.rs/actix-web/4/actix_web/web/struct.Redirect.html)
- `spa`: Easy Single-page Application (SPA) service [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/web/fn.spa.html)
- `spa`: Easy Single-page Application (SPA) service [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/web/fn.spa.html)

### Route Guards

- `Acceptable`: (graduated 🎉) verifies that an `Accept` header is present and it contains a compatible MIME type [(docs)](https://docs.rs/actix-web/4/actix_web/guard/struct.Acceptable.html)

### Test Utilities

- `test_request`: construct `TestRequest` using an HTTP-like DSL [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/test/macro.test_request.html)
- `assert_response_matches`: quickly write tests that check various parts of a `ServiceResponse` [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/test/macro.assert_response_matches.html)
- `test_request`: construct `TestRequest` using an HTTP-like DSL [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/test/macro.test_request.html)
- `assert_response_matches`: quickly write tests that check various parts of a `ServiceResponse` [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/test/macro.assert_response_matches.html)

### Other Utilities

- `fork_request_payload`: effectively clone a request payload [(docs)](https://docs.rs/actix-web-lab/0.19.2/actix_web_lab/util/fn.fork_request_payload.html)
- `fork_request_payload`: effectively clone a request payload [(docs)](https://docs.rs/actix-web-lab/0.20.0/actix_web_lab/util/fn.fork_request_payload.html)

## Things To Know About This Crate

Expand Down

0 comments on commit 187dbfa

Please sign in to comment.