1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-11-24 02:21:07 +01:00

fix startup fail example

This commit is contained in:
Rob Ede 2021-10-25 18:13:08 +01:00
parent 4c0eaca581
commit 9b9869f1dd
No known key found for this signature in database
GPG Key ID: 97C636207D3EF933
4 changed files with 24 additions and 10 deletions

View File

@ -2,7 +2,7 @@ use std::io;
use actix_rt::net::TcpStream; use actix_rt::net::TcpStream;
use actix_server::Server; use actix_server::Server;
use actix_service::fn_service; use actix_service::{fn_factory, fn_service};
use log::info; use log::info;
#[actix_rt::main] #[actix_rt::main]
@ -17,7 +17,15 @@ async fn main() -> io::Result<()> {
.bind( .bind(
"startup-fail", "startup-fail",
addr, addr,
fn_service(move |mut _stream: TcpStream| async move { Ok::<u32, u32>(42) }), fn_factory(|| async move {
if 1 > 2 {
Ok(fn_service(move |mut _stream: TcpStream| async move {
Ok::<u32, u32>(0)
}))
} else {
Err(42)
}
}),
)? )?
.workers(2) .workers(2)
.run() .run()

View File

@ -87,7 +87,7 @@ async fn main() -> io::Result<()> {
svc2 svc2
})? })?
.workers(1) .workers(2)
.run() .run()
.await .await
} }

View File

@ -1,4 +1,10 @@
use crate::{IntoService, IntoServiceFactory, Service, ServiceFactory, Transform, and_then::{AndThenSendServiceFactory, AndThenService, AndThenServiceFactory}, map::Map, map_err::MapErr, transform_err::TransformMapInitErr}; use crate::{
and_then::{AndThenSendServiceFactory, AndThenService, AndThenServiceFactory},
map::Map,
map_err::MapErr,
transform_err::TransformMapInitErr,
IntoService, IntoServiceFactory, Service, ServiceFactory, Transform,
};
/// An extension trait for [`Service`]s that provides a variety of convenient adapters. /// An extension trait for [`Service`]s that provides a variety of convenient adapters.
pub trait ServiceExt<Req>: Service<Req> { pub trait ServiceExt<Req>: Service<Req> {

View File

@ -175,13 +175,13 @@ where
factory: I, factory: I,
) -> PipelineFactory< ) -> PipelineFactory<
impl ServiceFactory< impl ServiceFactory<
Req, Req,
Response = SF1::Response, Response = SF1::Response,
Error = SF::Error, Error = SF::Error,
Config = SF::Config, Config = SF::Config,
InitError = SF::InitError, InitError = SF::InitError,
Service = impl Service<Req, Response = SF1::Response, Error = SF::Error> + Clone, Service = impl Service<Req, Response = SF1::Response, Error = SF::Error> + Clone,
> + Clone, > + Clone,
Req, Req,
> >
where where