mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-02 02:35:31 +00:00
bittorrent_udp: add RequestParseError; remove InvalidRequest; other fixes
This commit is contained in:
parent
f80646e3a8
commit
fe85901021
5 changed files with 114 additions and 70 deletions
|
|
@ -151,16 +151,27 @@ fn handle_readable_socket(
|
|||
Ok(Request::Scrape(r)) => {
|
||||
scrape_requests.push((r, src));
|
||||
},
|
||||
Ok(Request::Invalid(r)) => {
|
||||
let response = Response::Error(ErrorResponse {
|
||||
transaction_id: r.transaction_id,
|
||||
message: "Invalid request".to_string(),
|
||||
});
|
||||
|
||||
responses.push((response, src));
|
||||
},
|
||||
Err(err) => {
|
||||
eprintln!("request_from_bytes error: {:?}", err);
|
||||
|
||||
if let Some(transaction_id) = err.transaction_id {
|
||||
let opt_message = if err.error.is_some() {
|
||||
Some("Parse error".to_string())
|
||||
} else if let Some(message) = err.message {
|
||||
Some(message)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
if let Some(message) = opt_message {
|
||||
let response = ErrorResponse {
|
||||
transaction_id,
|
||||
message,
|
||||
};
|
||||
|
||||
responses.push((response.into(), src));
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue