Implement tower::Layer for Extension (#801)

* Implement `tower::Layer` for `Extension`

* changelog
This commit is contained in:
David Pedersen
2022-03-01 00:39:22 +01:00
committed by GitHub
parent 0d05b5e31f
commit a2b568c7c1
17 changed files with 51 additions and 43 deletions
+2 -2
View File
@@ -8,7 +8,7 @@ use axum::{
extract::Extension,
response::{Html, IntoResponse},
routing::get,
AddExtensionLayer, Json, Router,
Json, Router,
};
use starwars::{QueryRoot, StarWars, StarWarsSchema};
@@ -28,7 +28,7 @@ async fn main() {
let app = Router::new()
.route("/", get(graphql_playground).post(graphql_handler))
.layer(AddExtensionLayer::new(schema));
.layer(Extension(schema));
println!("Playground: http://localhost:3000");
+2 -2
View File
@@ -13,7 +13,7 @@ use axum::{
},
response::{Html, IntoResponse},
routing::get,
AddExtensionLayer, Router,
Router,
};
use futures::{sink::SinkExt, stream::StreamExt};
use std::{
@@ -39,7 +39,7 @@ async fn main() {
let app = Router::new()
.route("/", get(index))
.route("/websocket", get(websocket_handler))
.layer(AddExtensionLayer::new(app_state));
.layer(Extension(app_state));
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
@@ -13,7 +13,7 @@ use axum::{
http::StatusCode,
response::{IntoResponse, Response},
routing::{get, post},
AddExtensionLayer, Json, Router,
Json, Router,
};
use serde::{Deserialize, Serialize};
use serde_json::json;
@@ -41,7 +41,7 @@ async fn main() {
.route("/users", post(users_create))
// Add our `user_repo` to all request's extensions so handlers can access
// it.
.layer(AddExtensionLayer::new(user_repo));
.layer(Extension(user_repo));
// Run our application
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
+2 -3
View File
@@ -25,8 +25,7 @@ use std::{
};
use tower::{BoxError, ServiceBuilder};
use tower_http::{
add_extension::AddExtensionLayer, auth::RequireAuthorizationLayer,
compression::CompressionLayer, trace::TraceLayer,
auth::RequireAuthorizationLayer, compression::CompressionLayer, trace::TraceLayer,
};
#[tokio::main]
@@ -58,7 +57,7 @@ async fn main() {
.concurrency_limit(1024)
.timeout(Duration::from_secs(10))
.layer(TraceLayer::new_for_http())
.layer(AddExtensionLayer::new(SharedState::default()))
.layer(Extension(SharedState::default()))
.into_inner(),
);
+3 -3
View File
@@ -18,7 +18,7 @@ use axum::{
http::{header::SET_COOKIE, HeaderMap},
response::{IntoResponse, Redirect, Response},
routing::get,
AddExtensionLayer, Router,
Router,
};
use http::header;
use oauth2::{
@@ -49,8 +49,8 @@ async fn main() {
.route("/auth/authorized", get(login_authorized))
.route("/protected", get(protected))
.route("/logout", get(logout))
.layer(AddExtensionLayer::new(store))
.layer(AddExtensionLayer::new(oauth_client));
.layer(Extension(store))
.layer(Extension(oauth_client));
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
tracing::debug!("listening on {}", addr);
+2 -2
View File
@@ -11,7 +11,7 @@ use axum::{
extract::Extension,
http::{uri::Uri, Request, Response},
routing::get,
AddExtensionLayer, Router,
Router,
};
use hyper::{client::HttpConnector, Body};
use std::{convert::TryFrom, net::SocketAddr};
@@ -26,7 +26,7 @@ async fn main() {
let app = Router::new()
.route("/", get(handler))
.layer(AddExtensionLayer::new(client));
.layer(Extension(client));
let addr = SocketAddr::from(([127, 0, 0, 1], 4000));
println!("reverse proxy listening on {}", addr);
+2 -2
View File
@@ -16,7 +16,7 @@ use axum::{
},
response::IntoResponse,
routing::get,
AddExtensionLayer, Router,
Router,
};
use serde::{Deserialize, Serialize};
use std::fmt::Debug;
@@ -38,7 +38,7 @@ async fn main() {
let app = Router::new()
.route("/", get(handler))
.layer(AddExtensionLayer::new(store));
.layer(Extension(store));
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
tracing::debug!("listening on {}", addr);
+2 -2
View File
@@ -18,7 +18,7 @@ use axum::{
extract::{Extension, FromRequest, RequestParts},
http::StatusCode,
routing::get,
AddExtensionLayer, Router,
Router,
};
use sqlx::postgres::{PgPool, PgPoolOptions};
@@ -49,7 +49,7 @@ async fn main() {
"/",
get(using_connection_pool_extractor).post(using_connection_extractor),
)
.layer(AddExtensionLayer::new(pool));
.layer(Extension(pool));
// run it with hyper
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
+2 -2
View File
@@ -29,7 +29,7 @@ use std::{
time::Duration,
};
use tower::{BoxError, ServiceBuilder};
use tower_http::{add_extension::AddExtensionLayer, trace::TraceLayer};
use tower_http::trace::TraceLayer;
use uuid::Uuid;
#[tokio::main]
@@ -61,7 +61,7 @@ async fn main() {
}))
.timeout(Duration::from_secs(10))
.layer(TraceLayer::new_for_http())
.layer(AddExtensionLayer::new(db))
.layer(Extension(db))
.into_inner(),
);
+2 -2
View File
@@ -9,7 +9,7 @@ use axum::{
extract::{Extension, FromRequest, RequestParts},
http::StatusCode,
routing::get,
AddExtensionLayer, Router,
Router,
};
use bb8::{Pool, PooledConnection};
use bb8_postgres::PostgresConnectionManager;
@@ -36,7 +36,7 @@ async fn main() {
"/",
get(using_connection_pool_extractor).post(using_connection_extractor),
)
.layer(AddExtensionLayer::new(pool));
.layer(Extension(pool));
// run it with hyper
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));