hyperswitch-card-vault
hyperswitch-card-vault copied to clipboard
feat(error): handle json error as json instead of plaintext
Description
This pull request includes several updates primarily focused on refactoring the use of the axum
library and improving error handling. The most important changes include adding new dependencies, modifying error handling with JsonError
, and updating various route handlers to use the new Json
type.
Dependency Updates:
-
Cargo.toml
: Addedaxum-extra
and modifiedaxum
to include themacros
feature.
Error Handling Improvements:
-
src/error.rs
: IntroducedJsonError
struct and implementedFrom<JsonRejection>
andIntoResponse
for better error handling. -
src/middleware.rs
: Updated middleware to useerror::Json
for JSON extraction.
Route Handler Updates:
-
src/routes/data.rs
: Refactored multiple route handlers (add_card
,delete_card
,retrieve_card
,get_or_insert_fingerprint
) to useerror::Json
for request extraction andaxum::Json
for responses. [1] [2] [3] [4] -
src/routes/health.rs
: Updated health check handlers to useaxum::Json
for responses. [1] [2] -
src/routes/key_custodian.rs
: Refactored key custodian route handlers (key1
,key2
,decrypt
) to useerror::Json
for request extraction andaxum::Json
for responses. [1] [2] [3] [4] -
src/routes/key_migration.rs
: Updatedtransfer_keys
handler to useerror::Json
for request extraction andaxum::Json
for responses. [1] [2]