mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
http: add AnnounceResponse.warning_message; set in http_private
This commit is contained in:
parent
44f4474fb2
commit
70d79b1871
5 changed files with 25 additions and 4 deletions
|
|
@ -64,14 +64,14 @@ pub async fn validate_announce_request(
|
|||
user_agent: Option<String>,
|
||||
user_token: String,
|
||||
request: AnnounceRequest,
|
||||
) -> Result<ValidatedAnnounceRequest, FailureResponse> {
|
||||
) -> Result<(ValidatedAnnounceRequest, Option<String>), FailureResponse> {
|
||||
let parameters =
|
||||
AnnounceProcedureParameters::new(source_addr, user_agent, user_token, &request);
|
||||
|
||||
match call_announce_procedure(pool, parameters).await {
|
||||
Ok(results) => {
|
||||
if results.announce_allowed {
|
||||
Ok(ValidatedAnnounceRequest(request))
|
||||
Ok((ValidatedAnnounceRequest(request), results.warning_message))
|
||||
} else {
|
||||
Err(FailureResponse::new(
|
||||
results
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ pub async fn announce(
|
|||
|
||||
let source_addr = CanonicalSocketAddr::new(source_addr);
|
||||
|
||||
let validated_request =
|
||||
let (validated_request, opt_warning_message) =
|
||||
db::validate_announce_request(&pool, source_addr, opt_user_agent, user_token, request)
|
||||
.await
|
||||
.map_err(|r| create_response(Response::Failure(r)))?;
|
||||
|
|
@ -50,10 +50,14 @@ pub async fn announce(
|
|||
.await
|
||||
.map_err(|err| internal_error(format!("Sending request over channel failed: {:#}", err)))?;
|
||||
|
||||
let response = response_receiver.await.map_err(|err| {
|
||||
let mut response = response_receiver.await.map_err(|err| {
|
||||
internal_error(format!("Receiving response over channel failed: {:#}", err))
|
||||
})?;
|
||||
|
||||
if let Response::Announce(ref mut r) = response {
|
||||
r.warning_message = opt_warning_message;
|
||||
}
|
||||
|
||||
Ok(create_response(response))
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue