No longer Axum-based because filling out the request routes would have distracted from the purpose of the example.