From a6bf1ee0d0e238cb13d916c019bc231986d44401 Mon Sep 17 00:00:00 2001 From: default Date: Thu, 7 Nov 2024 20:47:37 +0100 Subject: Use the raw_path for proxying (as some media may include ? arguments). --- html.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'html.c') diff --git a/html.c b/html.c index c87883d..5d379e8 100644 --- a/html.c +++ b/html.c @@ -3216,7 +3216,13 @@ int html_get_handler(const xs_dict *req, const char *q_path, status = HTTP_STATUS_UNAUTHORIZED; } else { - xs *url = xs_replace(p_path, "proxy/", "https:/" "/"); + /* pick the raw path (including optional ? arguments) */ + const char *raw_path = xs_dict_get(req, "raw_path"); + + /* skip to where the proxy/ string starts */ + raw_path += xs_str_in(raw_path, "proxy/"); + + xs *url = xs_replace(raw_path, "proxy/", "https:/" "/"); xs *hdrs = xs_dict_new(); hdrs = xs_dict_append(hdrs, "user-agent", USER_AGENT); -- cgit v1.2.3