mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-23 00:03:33 +02:00
xtream and m3u parsing with streaming
This commit is contained in:
@@ -111,11 +111,7 @@ pub(in crate::api) async fn handle_hls_stream_request(
|
||||
// Don't forward Range on playlist fetch; segments use original headers in provider path
|
||||
let filter_header: HeaderFilter = Some(Box::new(|name: &str| !name.eq_ignore_ascii_case("range")));
|
||||
let forwarded = get_headers_from_request(req_headers, &filter_header);
|
||||
let config = app_state.app_config.config.load();
|
||||
let disabled_headers = config
|
||||
.reverse_proxy
|
||||
.as_ref()
|
||||
.and_then(|r| r.disabled_header.clone());
|
||||
let disabled_headers = app_state.get_disabled_headers();
|
||||
let headers = request::get_request_headers(None, Some(&forwarded), disabled_headers.as_ref());
|
||||
let input_source = InputSource::from(input).with_url(request_url);
|
||||
match request::download_text_content(
|
||||
|
||||
@@ -89,10 +89,7 @@ async fn geoip_update(axum::extract::State(app_state): axum::extract::State<Arc<
|
||||
method: InputFetchMethod::GET,
|
||||
headers: HashMap::default(),
|
||||
};
|
||||
let disabled_headers = config
|
||||
.reverse_proxy
|
||||
.as_ref()
|
||||
.and_then(|r| r.disabled_header.clone());
|
||||
let disabled_headers = app_state.get_disabled_headers();
|
||||
return match download_text_content(&app_state.http_client.load(), disabled_headers.as_ref(), &input_source, None, None).await {
|
||||
Ok((content, _)) => {
|
||||
let reader = Cursor::new(content);
|
||||
|
||||
@@ -118,11 +118,7 @@ async fn config_batch_content(
|
||||
// The url is changed at this point, we need the raw url for the batch file
|
||||
if let Some(batch_url) = config_input.t_batch_url.as_ref() {
|
||||
let input_source = InputSource::from(&*config_input).with_url(batch_url.to_owned());
|
||||
let config = app_state.app_config.config.load();
|
||||
let disabled_headers = config
|
||||
.reverse_proxy
|
||||
.as_ref()
|
||||
.and_then(|r| r.disabled_header.clone());
|
||||
let disabled_headers = app_state.get_disabled_headers();
|
||||
return match download_text_content(&app_state.http_client.load(), disabled_headers.as_ref(), &input_source, None, None).await {
|
||||
Ok((content, _path)) => {
|
||||
// Return CSV with explicit content-type
|
||||
|
||||
Reference in New Issue
Block a user