pub struct HttpServer<L>{ /* private fields */ }Expand description
Represents a running HTTP server.
To construct a server, use HttpServer::builder or the builder struct directly HttpServerBuilder.
Implementations§
Source§impl<L> HttpServer<L>where
L: Layer<HandlerFn> + Clone + Send + 'static,
L::Service: Service<(HttpRequest, HttpPayload), Response = HttpResponse, Error = Error> + Send + 'static,
<L::Service as Service<(HttpRequest, HttpPayload)>>::Future: Send + 'static,
impl<L> HttpServer<L>where
L: Layer<HandlerFn> + Clone + Send + 'static,
L::Service: Service<(HttpRequest, HttpPayload), Response = HttpResponse, Error = Error> + Send + 'static,
<L::Service as Service<(HttpRequest, HttpPayload)>>::Future: Send + 'static,
Sourcepub fn builder<T: ToSocketAddrs + Default + Debug + Clone>() -> HttpServerBuilder<T, Identity>
pub fn builder<T: ToSocketAddrs + Default + Debug + Clone>() -> HttpServerBuilder<T, Identity>
Returns a new HttpServerBuilder for configuring and building an HttpServer.
Sourcepub async fn serve(self) -> Result<(), ServerError>
pub async fn serve(self) -> Result<(), ServerError>
Starts the server and listens for incoming connections.
Examples found in repository?
examples/device_id.rs (line 120)
111async fn main() -> Result<(), HttpServerError> {
112 logger::init_tracing()?;
113
114 let server = HttpServerBuilder::default()
115 .bind("0.0.0.0:4221")
116 .service(devices)
117 .build()
118 .await?;
119
120 match server.serve().await {
121 Ok(_) => (),
122 Err(e) => panic!("Failed to serve: {}", e),
123 }
124
125 Ok(())
126}More examples
examples/basic.rs (line 206)
188async fn main() -> Result<(), HttpServerError> {
189 logger::init_tracing()?;
190 let state = State {
191 dir: "/Users/emil/projects/tosic-http/target/doc".to_string(),
192 };
193
194 let server = HttpServerBuilder::default()
195 .app_state(state)
196 .bind("0.0.0.0:4221")
197 //.service_method(Method::POST, "/", test_handler)
198 .route(post("/", test_handler).get(test_get))
199 //.service_method(Method::GET, "/bad", not_working)
200 .service(not_working)
201 .service(test_fn)
202 //.service(website)
203 .build()
204 .await?;
205
206 match server.serve().await {
207 Ok(_) => (),
208 Err(e) => panic!("Failed to serve: {}", e),
209 }
210
211 Ok(())
212}Auto Trait Implementations§
impl<L> !Freeze for HttpServer<L>
impl<L> !RefUnwindSafe for HttpServer<L>
impl<L> Send for HttpServer<L>
impl<L> Sync for HttpServer<L>where
L: Sync,
impl<L> Unpin for HttpServer<L>where
L: Unpin,
impl<L> !UnwindSafe for HttpServer<L>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more