Code Explainers
Rust code explainers
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 axum::{ body::Body, extract::MatchedPath, http::{Request, StatusCode},
An admin route guard in Axum middleware
middleware
authorization
request-extensions
Intermediate
7 steps
rust
use std::collections::VecDeque; pub struct RollingAverage { window: VecDeque<f64>,
A rolling average over a sliding window
sliding-window
running-sum
ring-buffer
Intermediate
6 steps
rust
use std::time::Duration; #[derive(Debug, Clone)] pub struct ServerConfig {
The builder pattern in Rust
builder-pattern
ownership
error-handling
Intermediate
8 steps
rust
#[derive(Debug, Clone, Copy, PartialEq, Eq)] enum State { Locked, Unlocked,
A turnstile state machine in Rust
state machine
enums
pattern matching
Intermediate
9 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 std::time::Instant; use axum::{ body::Body,
Prometheus request metrics in Axum
middleware
observability
prometheus
Intermediate
7 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
rust
use std::io::{BufRead, BufReader}; use std::process::{Command, Stdio}; #[derive(Debug)]
Parsing ps output into structs in Rust
subprocess
parsing
iterators
Intermediate
8 steps
rust
use axum::{ routing::get, Json, Router, };
Response compression in Axum with tower-http
middleware
compression
http
Intermediate
6 steps
rust
use std::collections::HashMap; #[derive(Debug, Clone)] struct Row {
Building a tree from flat parent-id rows in Rust
recursion
hashmap
tree-building
Intermediate
6 steps
rust
use axum::{extract::State, http::StatusCode, response::IntoResponse, Json}; use chrono::{Duration, Utc}; use serde::{Deserialize, Serialize}; use std::{collections::HashMap, sync::Arc};
Refresh token rotation in Axum
authentication
token-rotation
reuse-detection
Advanced
9 steps
rust
use std::fs; use std::path::Path; use regex::Regex;
Redacting emails in a file with Rust
regex
file-io
closures
Intermediate
6 steps
rust
use std::fs::{File, OpenOptions}; use std::io::{self, Write}; use std::path::Path;
A buffered log writer in Rust
buffering
raii
file-io
Intermediate
9 steps
rust
use axum::{ extract::{FromRef, FromRequestParts}, http::{request::Parts, StatusCode}, response::{IntoResponse, Response},
A custom API-key extractor in Axum
authentication
extractors
trait-implementation
Advanced
8 steps