use axum::{Router, routing::get};
use tower::ServiceBuilder;
use tower_http::{trace::TraceLayer, timeout::TimeoutLayer};
use std::time::Duration;
async fn handler() -> &'static str {
use std::time::Instant;
use axum::{
extract::Request,
http::HeaderValue,
middleware::Next,
use dashmap::DashMap;
use std::time::Instant;
pub struct TokenBucket {
tokens: f64,
last_refill: Instant,