Skip to content

Commit 525ab73

Browse files
committed
refactor: [torrust#1456] extract methods
1 parent f485501 commit 525ab73

File tree

1 file changed

+36
-5
lines changed
  • packages/udp-tracker-server/src/handlers

1 file changed

+36
-5
lines changed

packages/udp-tracker-server/src/handlers/error.rs

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,32 @@ pub async fn handle_error(
2828

2929
let server_socket_addr = server_service_binding.bind_address();
3030

31+
log_error(error, client_socket_addr, server_socket_addr, opt_transaction_id, request_id);
32+
33+
trigger_udp_error_event(
34+
error.clone(),
35+
client_socket_addr,
36+
server_service_binding,
37+
opt_transaction_id,
38+
opt_udp_server_stats_event_sender,
39+
req_kind,
40+
)
41+
.await;
42+
43+
Response::from(ErrorResponse {
44+
transaction_id: opt_transaction_id.unwrap_or(TransactionId(I32::new(0))),
45+
message: error.to_string().into(),
46+
})
47+
}
48+
49+
fn log_error(
50+
error: &Error,
51+
client_socket_addr: SocketAddr,
52+
server_socket_addr: SocketAddr,
53+
opt_transaction_id: Option<TransactionId>,
54+
55+
request_id: Uuid,
56+
) {
3157
match opt_transaction_id {
3258
Some(transaction_id) => {
3359
let transaction_id = transaction_id.0.to_string();
@@ -37,7 +63,17 @@ pub async fn handle_error(
3763
tracing::error!(target: UDP_TRACKER_LOG_TARGET, error = %error, %client_socket_addr, %server_socket_addr, %request_id, "response error");
3864
}
3965
}
66+
}
67+
68+
async fn trigger_udp_error_event(
69+
error: Error,
70+
client_socket_addr: SocketAddr,
71+
server_service_binding: ServiceBinding,
72+
opt_transaction_id: Option<TransactionId>,
4073

74+
opt_udp_server_stats_event_sender: &crate::event::sender::Sender,
75+
req_kind: Option<UdpRequestKind>,
76+
) {
4177
if opt_transaction_id.is_some() {
4278
// code-review: why we trigger an event only if transaction_id is present?
4379

@@ -51,9 +87,4 @@ pub async fn handle_error(
5187
.await;
5288
}
5389
}
54-
55-
Response::from(ErrorResponse {
56-
transaction_id: opt_transaction_id.unwrap_or(TransactionId(I32::new(0))),
57-
message: error.to_string().into(),
58-
})
5990
}

0 commit comments

Comments
 (0)