provider and user connection management

This commit is contained in:
euzu
2025-04-28 19:52:59 +02:00
parent 8e04830c6b
commit 8fbbe4b15e
11 changed files with 139 additions and 69 deletions
+3 -2
View File
@@ -11,6 +11,7 @@ pub struct RewriteHlsProps<'a> {
pub virtual_id: u32,
pub input_id: u16,
pub provider_name: String,
pub user_token: String,
}
fn rewrite_hls_url(input: &str, replacement: &str) -> String {
@@ -33,7 +34,7 @@ fn rewrite_uri_attrib(line: &str, props: &RewriteHlsProps) -> String {
if let Some(caps) = CONSTANTS.re_hls_uri.captures(line) {
let uri = &caps[1];
let target_url = &rewrite_hls_url(&props.hls_url, uri);
if let Some(token) = create_token_for_provider(props.secret, props.virtual_id, &props.provider_name, target_url) {
if let Some(token) = create_token_for_provider(props.secret, &props.user_token, props.virtual_id, &props.provider_name, target_url) {
return CONSTANTS.re_hls_uri.replace(line, format!(r#"URI="{token}""#)).to_string();
}
}
@@ -58,7 +59,7 @@ pub fn rewrite_hls(user: &ProxyUserCredentials, props: &RewriteHlsProps) -> Stri
} else {
rewrite_hls_url(&props.hls_url, line)
};
if let Some(token) = create_token_for_provider(props.secret, props.virtual_id, &props.provider_name, &target_url) {
if let Some(token) = create_token_for_provider(props.secret, &props.user_token, props.virtual_id, &props.provider_name, &target_url) {
let url = format!(
"{}/{HLS_PREFIX}/{}/{}/{}/{}/{}",
props.base_url,