Code Explainers

Code explainers tagged #extractors

rust
use axum::{
    async_trait,
    extract::{rejection::JsonRejection, FromRequest, Request},
    http::StatusCode,

A validated JSON extractor in Axum

extractors validation error-handling
Intermediate 8 steps
rust
use axum::{
    extract::{FromRef, FromRequestParts, State},
    http::{header::ACCEPT_LANGUAGE, request::Parts, StatusCode},
    response::{IntoResponse, Response},

A custom Accept-Language extractor in Axum

extractors internationalization http-headers
Advanced 8 steps
rust
use axum::{
    async_trait,
    extract::FromRequestParts,
    http::{header::HeaderValue, request::Parts, HeaderName},

Propagating trace context in Axum extractors

extractors distributed-tracing http-headers
Intermediate 8 steps
rust
use axum::{
    async_trait,
    extract::FromRequestParts,
    http::{request::Parts, StatusCode},

A proof-of-work extractor in Axum

proof-of-work extractors hashing
Advanced 9 steps
rust
use axum::{
    extract::{Path, State},
    http::HeaderMap,
    response::{Html, IntoResponse},

Building an HTMX-aware toggle handler in Axum

extractors htmx sqlx
Intermediate 8 steps
rust
use axum::{
    async_trait,
    extract::FromRequestParts,
    http::{header::HeaderName, request::Parts, StatusCode},

A custom tenant extractor in Axum

extractors middleware error-handling
Intermediate 7 steps
rust
use axum::{
    extract::{FromRef, FromRequestParts},
    http::{header, request::Parts, StatusCode},
    RequestPartsExt,

How a JWT extractor works in Axum

jwt authentication extractors
Intermediate 8 steps
rust
#[derive(Deserialize)]
pub struct CreateArticle {
    title: String,
    body: String,

Building a create endpoint in Axum

extractors json-deserialization sqlx
Intermediate 7 steps
rust
use axum::{
    extract::{FromRequestParts, Query},
    http::{request::Parts, StatusCode},
};

Building a custom Axum extractor for query filters

extractors query-parsing enums
Intermediate 8 steps
rust
use axum::{
    extract::{FromRequestParts, Host},
    http::{request::Parts, StatusCode},
};

Multi-tenant DB routing in Axum extractors

multi-tenancy extractors connection-pooling
Advanced 8 steps
rust
use axum::{
    extract::Path,
    http::StatusCode,
    routing::{get, post},

Building a REST resource in Axum

rest-api routing serialization
Intermediate 9 steps
rust
use axum::{extract::State, http::StatusCode, Json};
use serde::{Deserialize, Serialize};
use sqlx::PgPool;
use uuid::Uuid;

An atomic money transfer handler in Axum

database-transactions atomicity error-handling
Intermediate 9 steps
rust
use axum::{
    extract::{Path, Query},
    http::Uri,
    response::{IntoResponse, Redirect},

Building HTTP redirect handlers in Axum

redirects extractors url-handling
Intermediate 7 steps
rust
use std::time::Duration;
 
use axum::{
    extract::State,

Rate-limit errors as Axum responses

error-handling rate-limiting http-headers
Intermediate 6 steps
rust
use axum::{
    async_trait,
    body::Bytes,
    extract::FromRequest,

A strict JSON extractor in Axum

extractors traits content-negotiation
Advanced 7 steps
rust
use axum::{
    async_trait,
    extract::{FromRequestParts, State},
    http::{request::Parts, StatusCode},

Idempotent payments with an Axum extractor

idempotency extractors shared-state
Intermediate 8 steps
rust
use std::time::Duration;
 
use axum::{
    extract::State,

Rate-limiting an expensive Axum route with tower

middleware concurrency-limiting shared-state
Intermediate 9 steps
rust
use axum::{
    extract::State,
    http::{header, HeaderMap, StatusCode},
    response::{IntoResponse, Response},

Conditional GET caching in Axum

http-caching conditional-requests extractors
Intermediate 7 steps