1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-23 15:51:06 +01:00
Go to file
Joseph McCormick 1ed893a08c
Feature: Add IdentityError to actix-identity crate. (#296)
* Add IdentityError to actix-identity crate.

In order to let crates in the actix web ecosystem interact correctly
with `actix_web::Error`, this commit introduces its own error type,
replacing the previous usage of `anyhow::Error`.

* Mend some clippy warnings on IdentityError.

* Split identity error into more granular versions.

- `MissingIdentityError` occurs whenever we attempt to gather
  information about an identity from a session, and fail.
- `LoginError` occurs whenever we attempt to login via an identity, and
  fail.

* Feedback for identity error implementation.

- `IdentityError` -> `GetIdentityError`
- Move error messages into Display impl where appropriate
- Split `id` and `get_identity` errors into two types
- Implement `source` on custom errors

* Expand identity error types with struct markers.

In order to get a little more future compatibility and reduce
abstraction leaking, this commit introduces some contextual structs to
our identity errors package.

* Improve doc message for SessionExpiryError.

Co-authored-by: Luca Palmieri <20745048+LukeMathWalker@users.noreply.github.com>

* Improve identity error docs and messaging.

Co-authored-by: Luca Palmieri <20745048+LukeMathWalker@users.noreply.github.com>

* Expand LostIdentityError with placeholder.

Adds a placeholder unit struct to the LostIdentityError variant of
GetIdentityError, which should let us expand on that variant with extra
context later if we like.

* Add From coercion for LostIdentityError.

Improve the ergonomics of using the LostIdentityError unit struct.

* Update Cargo.toml

* Update CHANGES.md

* expose identity error module

* fix error impl

Co-authored-by: Luca Palmieri <20745048+LukeMathWalker@users.noreply.github.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2023-01-07 02:05:12 +00:00
.cargo Do not run tests on MSRV (#250) 2022-05-25 14:07:31 +01:00
.github workaround msrv issues fix 2023-01-07 01:57:03 +00:00
actix-cors update env_logger dev dep 2023-01-07 01:08:01 +00:00
actix-identity Feature: Add IdentityError to actix-identity crate. (#296) 2023-01-07 02:05:12 +00:00
actix-limitation Update redis dependency to 0.22 2023-01-07 01:15:26 +00:00
actix-protobuf update env_logger dev dep 2023-01-07 01:08:01 +00:00
actix-redis update redis-async to 0.14 2023-01-07 01:09:34 +00:00
actix-session Update redis dependency to 0.22 2023-01-07 01:15:26 +00:00
actix-settings update env_logger dev dep 2023-01-07 01:08:01 +00:00
actix-web-httpauth update base64 dep to 0.20 2023-01-07 01:16:14 +00:00
.editorconfig merge project metadata 2020-01-30 00:31:25 +00:00
.gitignore adopt actix-settings crate (#270) 2022-07-31 14:44:45 +01:00
Cargo.toml adopt actix-settings crate (#270) 2022-07-31 14:44:45 +01:00
clippy.toml bump msrv to 1.59 2022-08-28 20:30:32 +01:00
codecov.yml simplify ci like actix-web (#165) 2021-03-22 11:46:02 +00:00
LICENSE-APACHE merge project metadata 2020-01-30 00:31:25 +00:00
LICENSE-MIT fix badge links 2020-01-30 01:50:18 +00:00
README.md add sentinel middleware to community crates (#312) 2023-01-05 14:36:31 +00:00
rustfmt.toml apply imports_granularity fmt rule 2022-09-11 21:55:40 +01:00

actix-extras

A collection of additional crates supporting Actix Web.

CI codecov Chat on Discord Dependency Status

Crates by @actix

Crate
actix-cors crates.io dependency status Cross-Origin Resource Sharing (CORS) controls.
actix-identity crates.io dependency status Identity management.
actix-limitation crates.io dependency status Rate-limiting using a fixed window counter for arbitrary keys, backed by Redis.
actix-protobuf crates.io dependency status Protobuf payload extractor.
actix-redis crates.io dependency status Actor-based Redis client.
actix-session crates.io dependency status Session management.
actix-settings crates.io dependency status Easily manage Actix Web's settings from a TOML file and environment variables.
actix-web-httpauth crates.io dependency status HTTP authentication schemes.

Community Crates

These crates are provided by the community.

Crate
actix-web-lab crates.io dependency status Experimental extractors, middleware, and other extras for possible inclusion in Actix Web.
actix-multipart-extract crates.io dependency status Better multipart form support for Actix Web.
actix-form-data crates.io dependency status Rate-limiting backed by form-data.
actix-governor crates.io dependency status Rate-limiting backed by governor.
actix-casbin crates.io dependency status Authorization library that supports access control models like ACL, RBAC & ABAC.
actix-ip-filter crates.io dependency status IP address filter. Supports glob patterns.
actix-web-static-files crates.io dependency status Static files as embedded resources.
actix-web-grants crates.io dependency status Extension for validating user authorities.
aliri_actix crates.io dependency status Endpoint authorization and authentication using scoped OAuth2 JWT tokens.
actix-web-flash-messages crates.io dependency status Support for flash messages/one-time notifications in actix-web.
awmp crates.io dependency status An easy to use wrapper around multipart fields for Actix Web.
tracing-actix-web crates.io dependency status A middleware to collect telemetry data from applications built on top of the actix-web framework.
actix-ws crates.io dependency status Actor-less WebSockets for the Actix Runtime.
actix-hash crates.io dependency status Hashing utilities for Actix Web.
actix-bincode crates.io dependency status Bincode payload extractor for Actix Web
sentinel-actix crates.io dependency status General and flexible protection for Actix Web

To add a crate to this list, submit a pull request.