Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::sync::{Arc, Mutex};
- use std::thread;
- use hyper::rt::{self, Future};
- use hyper::service::service_fn;
- use hyper::{Body, Request, Response, Server};
- pub struct ChallengeState;
- pub struct ChallengeResponse;
- type BoxFut<'a> = Box<Future<Item = Response<Body>, Error = hyper::Error> + Send + 'a>;
- fn handle<'a>(
- _: &Arc<Mutex<ChallengeState>>,
- ) -> BoxFut<'a> {
- unimplemented!()
- }
- pub fn run_listener(
- challenge: Arc<Mutex<ChallengeState>>,
- ) -> thread::JoinHandle<()> {
- let addr = ([127, 0, 0, 1], 9999).into();
- let listener_service = move || {
- service_fn(move |_: Request<Body>| {
- let challenge = Arc::clone(&challenge);
- handle(&challenge)
- })
- };
- let server = Server::bind(&addr)
- .serve(listener_service)
- .map_err(|_| () );
- thread::spawn(move || {
- rt::run(server);
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement