Accept IpAddr or Ipv6Addr as socket.
Added port in builder for only specifying port
This commit is contained in:
parent
971556af64
commit
7a0cf00cbc
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -294,7 +294,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "lib"
|
||||
version = "1.3.4"
|
||||
version = "1.3.5"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"derive",
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lib"
|
||||
version = "1.3.4"
|
||||
version = "1.3.5"
|
||||
edition = "2021"
|
||||
authors = ["Martin Berg Alstad"]
|
||||
homepage = "emberal.github.io"
|
||||
|
2
examples/multipart_file/Cargo.lock
generated
2
examples/multipart_file/Cargo.lock
generated
@ -286,7 +286,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "lib"
|
||||
version = "1.3.4"
|
||||
version = "1.3.5"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"thiserror",
|
||||
|
@ -1,3 +1,4 @@
|
||||
use std::net::IpAddr;
|
||||
use {
|
||||
axum::{extract::Request, handler::Handler, Router, ServiceExt},
|
||||
std::{io, net::Ipv4Addr, net::SocketAddr},
|
||||
@ -26,7 +27,7 @@ macro_rules! create_app {
|
||||
#[derive(Default)]
|
||||
pub struct AppBuilder {
|
||||
router: Router,
|
||||
socket: Option<(Ipv4Addr, u16)>,
|
||||
socket: Option<(IpAddr, u16)>,
|
||||
cors: Option<CorsLayer>,
|
||||
normalize_path: Option<bool>,
|
||||
tracing: Option<TraceLayer<HttpMakeClassifier>>,
|
||||
@ -47,8 +48,18 @@ impl AppBuilder {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn socket(mut self, socket: impl Into<(Ipv4Addr, u16)>) -> Self {
|
||||
self.socket = Some(socket.into());
|
||||
pub fn socket<IP: Into<IpAddr>>(mut self, socket: impl Into<(IP, u16)>) -> Self {
|
||||
let (ip, port) = socket.into();
|
||||
self.socket = Some((ip.into(), port));
|
||||
self
|
||||
}
|
||||
|
||||
pub fn port(mut self, port: u16) -> Self {
|
||||
self.socket = if let Some((ip, _)) = self.socket {
|
||||
Some((ip, port))
|
||||
} else {
|
||||
Some((Ipv4Addr::UNSPECIFIED.into(), port))
|
||||
};
|
||||
self
|
||||
}
|
||||
|
||||
@ -91,7 +102,7 @@ impl AppBuilder {
|
||||
}
|
||||
|
||||
async fn listener(&self) -> io::Result<TcpListener> {
|
||||
let addr = SocketAddr::from(self.socket.unwrap_or((Ipv4Addr::UNSPECIFIED, 8000)));
|
||||
let addr = SocketAddr::from(self.socket.unwrap_or((Ipv4Addr::UNSPECIFIED.into(), 8000)));
|
||||
info!("Initializing server on: {addr}");
|
||||
TcpListener::bind(&addr).await
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user