mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 02:05:30 +00:00
http_private: more work on announce route and channels
This commit is contained in:
parent
7d3ff2e9e6
commit
b0f89edd30
3 changed files with 52 additions and 23 deletions
|
|
@ -1,6 +1,8 @@
|
|||
use std::net::{IpAddr, SocketAddr};
|
||||
|
||||
use aquatic_http_protocol::{common::AnnounceEvent, request::AnnounceRequest, response::FailureResponse};
|
||||
use aquatic_http_protocol::{
|
||||
common::AnnounceEvent, request::AnnounceRequest, response::FailureResponse,
|
||||
};
|
||||
use sqlx::{Executor, MySql, Pool};
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
@ -62,19 +64,19 @@ pub async fn validate_announce_request(
|
|||
user_token: String,
|
||||
request: AnnounceRequest,
|
||||
) -> Result<ValidatedAnnounceRequest, FailureResponse> {
|
||||
let parameters = AnnounceProcedureParameters::new(
|
||||
source_addr,
|
||||
user_agent,
|
||||
user_token,
|
||||
&request,
|
||||
);
|
||||
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))
|
||||
} else {
|
||||
Err(FailureResponse::new(results.failure_reason.unwrap_or_else(|| "Not allowed".into())))
|
||||
Err(FailureResponse::new(
|
||||
results
|
||||
.failure_reason
|
||||
.unwrap_or_else(|| "Not allowed".into()),
|
||||
))
|
||||
}
|
||||
}
|
||||
Err(err) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue