[−][src]Function spirit_hyper::server_from_handler
pub fn server_from_handler<H, Tr, S>(
handler: H
) -> impl ServerBuilder<Tr> + Clone + Send where
Tr: Fragment,
Tr::Resource: SpiritAccept + Unpin,
<Tr::Resource as SpiritAccept>::Connection: AsyncRead + AsyncWrite + Unpin,
H: Clone + Send + Sync + Fn(Request<Body>) -> S + 'static,
S: Future<Output = Response<Body>> + Send + 'static,
A simplified version of creating the ServerBuilder
.
Implementing the ServerBuilder
by hand is possible and sometimes necessary (it is more
flexible ‒ one can receive parameters on the way ‒ the configuration of the specific server
instance in case there are multiple, getting access to the connection for which a service is
being created, unusual ways of creating the instances). But it is quite a chore with a lot of
async
and move
involved (you can have a look at source code of this function to get the
idea, the [SRC]
button at the right).
This gets it done for the very simple case ‒ in case there's an async function/closure that
just takes a Request<Body>
and returns a Response<Body>
.
See the crate level example.