Skip to content

Commit 0d3d331

Browse files
committed
Move send_response helper to api module
1 parent b5360b1 commit 0d3d331

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

src/docker_run/api/mod.rs

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ impl Server {
3333
where
3434
C: Send + Clone + 'static,
3535
H: Send + Copy + 'static,
36-
H: FnOnce(&C, tiny_http::Request) {
36+
H: FnOnce(&C, &mut tiny_http::Request) -> Result<SuccessResponse, ErrorResponse> {
3737

3838
let mut handles = Vec::new();
3939
let request_handler = config.handler;
@@ -47,8 +47,9 @@ impl Server {
4747
loop {
4848
match server.accept() {
4949
Ok(client) => {
50-
for request in client {
51-
request_handler(&handler_config, request);
50+
for mut request in client {
51+
let response = request_handler(&handler_config, &mut request);
52+
send_response(request, response);
5253
}
5354
}
5455

@@ -72,6 +73,28 @@ impl Server {
7273
}
7374
}
7475

76+
fn send_response(request: tiny_http::Request, response: Result<SuccessResponse, ErrorResponse>) {
77+
let result = match response {
78+
Ok(data) => {
79+
success_response(request, &data)
80+
}
81+
82+
Err(data) => {
83+
error_response(request, data)
84+
}
85+
};
86+
87+
match result {
88+
Ok(()) => {},
89+
90+
Err(err) => {
91+
log::error!("Failure while sending response: {}", err)
92+
}
93+
}
94+
}
95+
96+
97+
7598
pub struct Workers {
7699
handles: Vec<thread::JoinHandle<()>>
77100
}

src/main.rs

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -88,29 +88,7 @@ fn start() -> Result<(), Error> {
8888
}
8989

9090

91-
fn handle_request(config: &config::Config, mut request: tiny_http::Request) {
92-
93-
let result = match router(&config, &mut request) {
94-
Ok(data) => {
95-
api::success_response(request, &data)
96-
}
97-
98-
Err(err) => {
99-
api::error_response(request, err)
100-
}
101-
};
102-
103-
match result {
104-
Ok(()) => {},
105-
106-
Err(err) => {
107-
log::error!("Failure while sending response: {}", err)
108-
}
109-
}
110-
}
111-
112-
113-
fn router(config: &config::Config, request: &mut tiny_http::Request) -> Result<api::SuccessResponse, api::ErrorResponse> {
91+
fn handle_request(config: &config::Config, request: &mut tiny_http::Request) -> Result<api::SuccessResponse, api::ErrorResponse> {
11492
match (request.url(), request.method()) {
11593
("/", tiny_http::Method::Get) => {
11694
api::root::handle(config, request)

0 commit comments

Comments
 (0)