I am trying to convert rspotify web example from rocket to axum, but I have one last issue. When I run the backend, I have this message on my front :3000/
Missing request extension: Extension of type
alloc::sync::Arc<tower_cookies::Cookies>
was not found. Perhaps you forgot to add it? Seeaxum::Extension
.
However, I seem to be including the cookie as an extension.
#[tokio::main]
async fn main() {
let cookie_manager_layer = CookieManagerLayer::new();
let shared_cookies = Arc::new(cookie_manager_layer.clone());
let app = Router::new()
.route("/", get(index))
.route("/callback", get(callback))
.layer(Extension(shared_cookies))
.layer(cookie_manager_layer);
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
axum::serve(listener, app.into_make_service())
.await
.unwrap();
}
Here is my full code : (100 lines, don't want to flood this post)
And the Cargo.toml
:
Someone have an idea ? Thank you so much, I'm in a bit of a bind!