Code Explainers
Rust code explainers
rust
use axum::{ body::{Body, Bytes}, extract::Request, http::StatusCode,
Logging request bodies in Axum middleware
middleware
streaming-body
logging
Intermediate
8 steps
rust
use std::time::Duration; use axum::{ body::Body,
Turning Axum timeouts into 504 JSON
middleware
timeouts
error-handling
Intermediate
7 steps
rust
use axum::{ extract::State, response::sse::{Event, KeepAlive, Sse}, };
Broadcasting live prices over SSE in Axum
server-sent-events
broadcast-channel
streams
Advanced
9 steps
rust
pub struct Fibonacci { current: u64, next: u64, }
A Fibonacci iterator in Rust
iterators
traits
lazy-evaluation
Intermediate
6 steps
rust
use std::any::{Any, TypeId}; use std::collections::HashMap; pub trait Event: Any {
A type-safe event bus in Rust
type-erasure
trait-objects
downcasting
Advanced
8 steps
rust
use std::cmp::Ordering; pub struct PrefixIndex { entries: Vec<String>,
Prefix search with binary partitioning in Rust
binary-search
sorting
case-insensitive
Intermediate
7 steps
rust
use std::cmp::Ordering; use std::str::FromStr; #[derive(Debug, Clone, PartialEq, Eq)]
Parsing and ordering semantic versions in Rust
parsing
trait-implementation
ordering
Intermediate
8 steps
rust
use axum::{ extract::State, routing::{get, post, MethodRouter}, Json, Router,
Self-documenting routes in Axum
builder-pattern
closures
shared-state
Intermediate
8 steps
rust
use std::collections::HashMap; use std::fs::File; use std::io::{self, BufRead, BufReader}; use std::path::Path;
Parsing INI files in Rust
parsing
file-io
hashmap
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 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