aquatic_udp: use Cow<'static, str> for ErrorResponse.message

This commit is contained in:
Joakim Frostegård 2021-10-16 00:16:00 +02:00
parent 881579435a
commit 31b88a5e9d
4 changed files with 8 additions and 7 deletions

View file

@ -52,7 +52,7 @@ pub fn handle_announce_requests(
} else { } else {
Response::Error(ErrorResponse { Response::Error(ErrorResponse {
transaction_id: request.transaction_id, transaction_id: request.transaction_id,
message: "Info hash not allowed".to_string(), message: "Info hash not allowed".into(),
}) })
}; };

View file

@ -143,6 +143,6 @@ pub fn run_request_worker(
fn create_invalid_connection_response(transaction_id: TransactionId) -> Response { fn create_invalid_connection_response(transaction_id: TransactionId) -> Response {
Response::Error(ErrorResponse { Response::Error(ErrorResponse {
transaction_id, transaction_id,
message: "Connection invalid or expired".to_string(), message: "Connection invalid or expired".into(),
}) })
} }

View file

@ -152,9 +152,9 @@ fn read_requests(
if let Some(transaction_id) = err.transaction_id { if let Some(transaction_id) = err.transaction_id {
let opt_message = if err.error.is_some() { let opt_message = if err.error.is_some() {
Some("Parse error".to_string()) Some("Parse error".into())
} else if let Some(message) = err.message { } else if let Some(message) = err.message {
Some(message) Some(message.into())
} else { } else {
None None
}; };

View file

@ -1,3 +1,4 @@
use std::borrow::Cow;
use std::convert::TryInto; use std::convert::TryInto;
use std::io::{self, Cursor, Write}; use std::io::{self, Cursor, Write};
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
@ -37,7 +38,7 @@ pub struct ScrapeResponse {
#[derive(PartialEq, Eq, Clone, Debug)] #[derive(PartialEq, Eq, Clone, Debug)]
pub struct ErrorResponse { pub struct ErrorResponse {
pub transaction_id: TransactionId, pub transaction_id: TransactionId,
pub message: String, pub message: Cow<'static, str>,
} }
#[derive(PartialEq, Eq, Clone, Debug)] #[derive(PartialEq, Eq, Clone, Debug)]
@ -224,7 +225,7 @@ impl Response {
Ok((ErrorResponse { Ok((ErrorResponse {
transaction_id: TransactionId(transaction_id), transaction_id: TransactionId(transaction_id),
message: String::from_utf8_lossy(&inner[position..]).into(), message: String::from_utf8_lossy(&inner[position..]).into_owned().into(),
}) })
.into()) .into())
} }
@ -262,7 +263,7 @@ impl Response {
} }
_ => Ok((ErrorResponse { _ => Ok((ErrorResponse {
transaction_id: TransactionId(transaction_id), transaction_id: TransactionId(transaction_id),
message: "Invalid action".to_string(), message: "Invalid action".into(),
}) })
.into()), .into()),
} }