Skip to content

Commit 442af02

Browse files
authored
fix http server startup (#834)
1 parent 27c816d commit 442af02

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

  • native-engine/blaze/src/http

native-engine/blaze/src/http/mod.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub trait Handler {
3131

3232
pub trait HTTPServer: Send + Sync {
3333
fn start(&self);
34-
fn register_handler(&self, handler: impl Handler + 'static);
34+
fn register_handler(&self, handler: Box<dyn Handler + Send + Sync>);
3535
}
3636

3737
pub struct DefaultHTTPServer {
@@ -81,26 +81,28 @@ impl HTTPServer for DefaultHTTPServer {
8181
}
8282
}
8383

84-
fn register_handler(&self, handler: impl Handler + 'static) {
84+
fn register_handler(&self, handler: Box<dyn Handler + Send + Sync>) {
8585
let mut handlers = self.handlers.lock().unwrap();
86-
handlers.push(Box::new(handler));
86+
handlers.push(handler);
8787
}
8888
}
8989

90-
pub struct HttpService;
90+
pub struct HttpService {
91+
_server: Box<dyn HTTPServer>,
92+
}
9193

9294
impl HttpService {
9395
pub fn init() -> Self {
94-
let server = DefaultHTTPServer::new();
96+
let server = Box::new(DefaultHTTPServer::new());
9597
#[cfg(feature = "jemalloc-pprof")]
9698
{
9799
use crate::http::pprof::PProfHandler;
98-
server.register_handler(PProfHandler::default());
100+
server.register_handler(Box::new(PProfHandler::default()));
99101

100102
use crate::http::memory_profiling::MemoryProfileHandler;
101-
server.register_handler(MemoryProfileHandler::default());
103+
server.register_handler(Box::new(MemoryProfileHandler::default()));
102104
}
103105
server.start();
104-
Self
106+
Self { _server: server }
105107
}
106108
}

0 commit comments

Comments
 (0)