mirror of
https://github.com/tokio-rs/axum.git
synced 2026-08-27 00:00:24 +02:00
Remove io::Result from serve output type
This commit is contained in:
@@ -438,7 +438,7 @@ pub fn derive_from_request_parts(item: TokenStream) -> TokenStream {
|
|||||||
/// let app = Router::new().route("/", get(handler));
|
/// let app = Router::new().route("/", get(handler));
|
||||||
///
|
///
|
||||||
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
/// axum::serve(listener, app).await.unwrap();
|
/// axum::serve(listener, app).await;
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// fn handler() -> &'static str {
|
/// fn handler() -> &'static str {
|
||||||
@@ -458,7 +458,7 @@ pub fn derive_from_request_parts(item: TokenStream) -> TokenStream {
|
|||||||
/// # let app = Router::new().route("/", get(handler));
|
/// # let app = Router::new().route("/", get(handler));
|
||||||
/// #
|
/// #
|
||||||
/// # let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
/// # let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
/// # axum::serve(listener, app).await.unwrap();
|
/// # axum::serve(listener, app).await;
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// #[debug_handler]
|
/// #[debug_handler]
|
||||||
@@ -485,7 +485,7 @@ pub fn derive_from_request_parts(item: TokenStream) -> TokenStream {
|
|||||||
/// let app = Router::new().route("/", get(handler));
|
/// let app = Router::new().route("/", get(handler));
|
||||||
///
|
///
|
||||||
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
/// axum::serve(listener, app).await.unwrap();
|
/// axum::serve(listener, app).await;
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// #[debug_handler]
|
/// #[debug_handler]
|
||||||
@@ -607,7 +607,7 @@ pub fn debug_handler(_attr: TokenStream, input: TokenStream) -> TokenStream {
|
|||||||
/// .layer(middleware::from_fn(my_middleware));
|
/// .layer(middleware::from_fn(my_middleware));
|
||||||
///
|
///
|
||||||
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
/// axum::serve(listener, app).await.unwrap();
|
/// axum::serve(listener, app).await;
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// // if this wasn't a valid middleware function #[debug_middleware] would
|
/// // if this wasn't a valid middleware function #[debug_middleware] would
|
||||||
|
|||||||
+1
-1
@@ -47,7 +47,7 @@ async fn main() {
|
|||||||
|
|
||||||
// run our app with hyper, listening globally on port 3000
|
// run our app with hyper, listening globally on port 3000
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// basic handler that responds with a static string
|
// basic handler that responds with a static string
|
||||||
|
|||||||
@@ -164,8 +164,7 @@ impl BenchmarkBuilder {
|
|||||||
let addr = listener.local_addr().unwrap();
|
let addr = listener.local_addr().unwrap();
|
||||||
|
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
rt.block_on(axum::serve(listener, app).into_future())
|
rt.block_on(axum::serve(listener, app).into_future());
|
||||||
.unwrap();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let mut cmd = Command::new("rewrk");
|
let mut cmd = Command::new("rewrk");
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ let app = Router::new().fallback(handler);
|
|||||||
|
|
||||||
# async {
|
# async {
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
# };
|
# };
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ let app = routes(AppState {});
|
|||||||
// but `app` is a `Router<AppState>`
|
// but `app` is a `Router<AppState>`
|
||||||
# async {
|
# async {
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
# };
|
# };
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ let app = routes(AppState {});
|
|||||||
// We can now call `Router::into_make_service`
|
// We can now call `Router::into_make_service`
|
||||||
# async {
|
# async {
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
# };
|
# };
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -254,8 +254,7 @@ mod tests {
|
|||||||
listener,
|
listener,
|
||||||
app.into_make_service_with_connect_info::<SocketAddr>(),
|
app.into_make_service_with_connect_info::<SocketAddr>(),
|
||||||
)
|
)
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
});
|
});
|
||||||
rx.await.unwrap();
|
rx.await.unwrap();
|
||||||
|
|
||||||
@@ -296,8 +295,7 @@ mod tests {
|
|||||||
listener,
|
listener,
|
||||||
app.into_make_service_with_connect_info::<MyConnectInfo>(),
|
app.into_make_service_with_connect_info::<MyConnectInfo>(),
|
||||||
)
|
)
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
});
|
});
|
||||||
rx.await.unwrap();
|
rx.await.unwrap();
|
||||||
|
|
||||||
@@ -343,8 +341,7 @@ mod tests {
|
|||||||
listener,
|
listener,
|
||||||
app.into_make_service_with_connect_info::<SocketAddr>(),
|
app.into_make_service_with_connect_info::<SocketAddr>(),
|
||||||
)
|
)
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let client = reqwest::Client::new();
|
let client = reqwest::Client::new();
|
||||||
|
|||||||
+1
-1
@@ -37,7 +37,7 @@
|
|||||||
//!
|
//!
|
||||||
//! // run our app with hyper, listening globally on port 3000
|
//! // run our app with hyper, listening globally on port 3000
|
||||||
//! let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
//! let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
//! axum::serve(listener, app).await.unwrap();
|
//! axum::serve(listener, app).await;
|
||||||
//! }
|
//! }
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
|
|||||||
@@ -1451,7 +1451,7 @@ mod tests {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let listener = tokio::net::TcpListener::bind("0.0.0.0:0").await.unwrap();
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:0").await.unwrap();
|
||||||
crate::serve(listener, app).await.unwrap();
|
crate::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[crate::test]
|
#[crate::test]
|
||||||
|
|||||||
@@ -517,7 +517,7 @@ impl Router {
|
|||||||
///
|
///
|
||||||
/// # async {
|
/// # async {
|
||||||
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
/// let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
|
||||||
/// axum::serve(listener, app).await.unwrap();
|
/// axum::serve(listener, app).await;
|
||||||
/// # };
|
/// # };
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
|
|||||||
+6
-12
@@ -224,7 +224,7 @@ where
|
|||||||
S: Service<Request, Response = Response, Error = Infallible> + Clone + Send + 'static,
|
S: Service<Request, Response = Response, Error = Infallible> + Clone + Send + 'static,
|
||||||
S::Future: Send,
|
S::Future: Send,
|
||||||
{
|
{
|
||||||
type Output = io::Result<()>;
|
type Output = ();
|
||||||
type IntoFuture = private::ServeFuture;
|
type IntoFuture = private::ServeFuture;
|
||||||
|
|
||||||
fn into_future(self) -> Self::IntoFuture {
|
fn into_future(self) -> Self::IntoFuture {
|
||||||
@@ -339,14 +339,11 @@ where
|
|||||||
S::Future: Send,
|
S::Future: Send,
|
||||||
F: Future<Output = ()> + Send + 'static,
|
F: Future<Output = ()> + Send + 'static,
|
||||||
{
|
{
|
||||||
type Output = io::Result<()>;
|
type Output = ();
|
||||||
type IntoFuture = private::ServeFuture;
|
type IntoFuture = private::ServeFuture;
|
||||||
|
|
||||||
fn into_future(self) -> Self::IntoFuture {
|
fn into_future(self) -> Self::IntoFuture {
|
||||||
private::ServeFuture(Box::pin(async move {
|
private::ServeFuture(Box::pin(self.run()))
|
||||||
self.run().await;
|
|
||||||
Ok(())
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,15 +444,14 @@ where
|
|||||||
mod private {
|
mod private {
|
||||||
use std::{
|
use std::{
|
||||||
future::Future,
|
future::Future,
|
||||||
io,
|
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
task::{Context, Poll},
|
task::{Context, Poll},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub struct ServeFuture(pub(super) futures_util::future::BoxFuture<'static, io::Result<()>>);
|
pub struct ServeFuture(pub(super) futures_util::future::BoxFuture<'static, ()>);
|
||||||
|
|
||||||
impl Future for ServeFuture {
|
impl Future for ServeFuture {
|
||||||
type Output = io::Result<()>;
|
type Output = ();
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
|
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
|
||||||
@@ -526,9 +522,7 @@ mod tests {
|
|||||||
|
|
||||||
// router
|
// router
|
||||||
serve(TcpListener::bind(addr).await.unwrap(), router.clone());
|
serve(TcpListener::bind(addr).await.unwrap(), router.clone());
|
||||||
serve(tcp_nodelay_listener().await, router.clone())
|
serve(tcp_nodelay_listener().await, router.clone());
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
serve(UnixListener::bind("").unwrap(), router.clone());
|
serve(UnixListener::bind("").unwrap(), router.clone());
|
||||||
|
|
||||||
|
|||||||
@@ -20,11 +20,7 @@ where
|
|||||||
let addr = listener.local_addr().unwrap();
|
let addr = listener.local_addr().unwrap();
|
||||||
println!("Listening on {addr}");
|
println!("Listening on {addr}");
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(serve(listener, Shared::new(svc)).into_future());
|
||||||
serve(listener, Shared::new(svc))
|
|
||||||
.await
|
|
||||||
.expect("server error")
|
|
||||||
});
|
|
||||||
|
|
||||||
addr
|
addr
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Result<(), AppError> {
|
async fn handler() -> Result<(), AppError> {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ async fn main() {
|
|||||||
|
|
||||||
// run it
|
// run it
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Html<&'static str> {
|
async fn handler() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn websocket_handler(
|
async fn websocket_handler(
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// middleware that shows how to consume the request body upfront
|
// middleware that shows how to consume the request body upfront
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ async fn main() {
|
|||||||
async fn serve(app: Router, port: u16) {
|
async fn serve(app: Router, port: u16) {
|
||||||
let addr = SocketAddr::from(([127, 0, 0, 1], port));
|
let addr = SocketAddr::from(([127, 0, 0, 1], port));
|
||||||
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn html() -> impl IntoResponse {
|
async fn html() -> impl IntoResponse {
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler(Path(params): Path<Params>) -> impl IntoResponse {
|
async fn handler(Path(params): Path<Params>) -> impl IntoResponse {
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ async fn main() {
|
|||||||
|
|
||||||
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ async fn main() {
|
|||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
||||||
tracing::debug!("listening on {addr}");
|
tracing::debug!("listening on {addr}");
|
||||||
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn create_user(
|
async fn create_user(
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ async fn main() {
|
|||||||
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
|
||||||
tracing::debug!("listening on {addr}");
|
tracing::debug!("listening on {addr}");
|
||||||
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn create_user(
|
async fn create_user(
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Clone)]
|
#[derive(Default, Clone)]
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Html<&'static str> {
|
async fn handler() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -48,8 +48,7 @@ async fn main() {
|
|||||||
// Run the server with graceful shutdown
|
// Run the server with graceful shutdown
|
||||||
axum::serve(listener, app)
|
axum::serve(listener, app)
|
||||||
.with_graceful_shutdown(shutdown_signal())
|
.with_graceful_shutdown(shutdown_signal())
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn shutdown_signal() {
|
async fn shutdown_signal() {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app()).await.unwrap();
|
axum::serve(listener, app()).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET routes will also be called for HEAD requests but will have the response body removed.
|
// GET routes will also be called for HEAD requests but will have the response body removed.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Html<&'static str> {
|
async fn handler() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn protected(claims: Claims) -> Result<String, AuthError> {
|
async fn protected(claims: Claims) -> Result<String, AuthError> {
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
type SharedState = Arc<RwLock<AppState>>;
|
type SharedState = Arc<RwLock<AppState>>;
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("Listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("Listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app(client)).await.unwrap();
|
axum::serve(listener, app(client)).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// defining routes and state
|
// defining routes and state
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn show_form() -> Html<&'static str> {
|
async fn show_form() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ async fn main() {
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
);
|
);
|
||||||
|
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn print_request_response(
|
async fn print_request_response(
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ async fn start_main_server() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn start_metrics_server() {
|
async fn start_metrics_server() {
|
||||||
@@ -56,7 +56,7 @@ async fn start_metrics_server() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// basic handler that responds with a static string
|
// basic handler that responds with a static string
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Html<&'static str> {
|
async fn handler() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn stream_reqwest_response(State(client): State<Client>) -> Response {
|
async fn stream_reqwest_response(State(client): State<Client>) -> Response {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler(State(client): State<Client>, mut req: Request) -> Result<Response, StatusCode> {
|
async fn handler(State(client): State<Client>, mut req: Request) -> Result<Response, StatusCode> {
|
||||||
@@ -63,5 +63,5 @@ async fn server() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn root() -> Router {
|
fn root() -> Router {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ async fn main() {
|
|||||||
// run it with hyper
|
// run it with hyper
|
||||||
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we can extract the connection pool with `State`
|
// we can extract the connection pool with `State`
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handler that streams the request body to a file.
|
// Handler that streams the request body to a file.
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("listening on {}", listener.local_addr().unwrap());
|
println!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler_home(State(state): State<Arc<AppState>>) -> Result<Html<String>, StatusCode> {
|
async fn handler_home(State(state): State<Arc<AppState>>) -> Result<Html<String>, StatusCode> {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -146,6 +146,5 @@ where
|
|||||||
tracing::debug!("listening on {addr}");
|
tracing::debug!("listening on {addr}");
|
||||||
axum::serve(listener, redirect.into_make_service())
|
axum::serve(listener, redirect.into_make_service())
|
||||||
.with_graceful_shutdown(signal)
|
.with_graceful_shutdown(signal)
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,5 @@ async fn redirect_http_to_https(ports: Ports) {
|
|||||||
let addr = SocketAddr::from(([127, 0, 0, 1], ports.http));
|
let addr = SocketAddr::from(([127, 0, 0, 1], ports.http));
|
||||||
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, redirect.into_make_service())
|
axum::serve(listener, redirect.into_make_service()).await;
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The query parameters for todos index
|
// The query parameters for todos index
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConnectionPool = Pool<PostgresConnectionManager<NoTls>>;
|
type ConnectionPool = Pool<PostgresConnectionManager<NoTls>>;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
type ConnectionPool = Pool<RedisConnectionManager>;
|
type ConnectionPool = Pool<RedisConnectionManager>;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ async fn main() {
|
|||||||
// run it
|
// run it
|
||||||
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handler() -> Html<&'static str> {
|
async fn handler() -> Html<&'static str> {
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ mod unix {
|
|||||||
.route("/", get(handler))
|
.route("/", get(handler))
|
||||||
.into_make_service_with_connect_info::<UdsConnectInfo>();
|
.into_make_service_with_connect_info::<UdsConnectInfo>();
|
||||||
|
|
||||||
axum::serve(uds, app).await.unwrap();
|
axum::serve(uds, app).await;
|
||||||
});
|
});
|
||||||
|
|
||||||
let stream = TokioIo::new(UnixStream::connect(path).await.unwrap());
|
let stream = TokioIo::new(UnixStream::connect(path).await.unwrap());
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ async fn main() {
|
|||||||
// run it
|
// run it
|
||||||
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
let listener = TcpListener::bind("127.0.0.1:3000").await.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
tracing::debug!("listening on {}", listener.local_addr().unwrap());
|
||||||
axum::serve(listener, app).await.unwrap();
|
axum::serve(listener, app).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn app() -> Router {
|
fn app() -> Router {
|
||||||
|
|||||||
@@ -73,8 +73,7 @@ async fn main() {
|
|||||||
listener,
|
listener,
|
||||||
app.into_make_service_with_connect_info::<SocketAddr>(),
|
app.into_make_service_with_connect_info::<SocketAddr>(),
|
||||||
)
|
)
|
||||||
.await
|
.await;
|
||||||
.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The handler for the HTTP request (this gets called when the HTTP request lands at the start
|
/// The handler for the HTTP request (this gets called when the HTTP request lands at the start
|
||||||
|
|||||||
Reference in New Issue
Block a user