gpac / gpac

GPAC Ultramedia OSS for Video Streaming & Next-Gen Multimedia Transcoding, Packaging & Delivery
https://gpac.io
GNU Lesser General Public License v2.1
2.61k stars 511 forks source link

[HttpOut] Querystrings are included when finding files to serve. #2834

Closed hiimdoublej-swag closed 2 weeks ago

hiimdoublej-swag commented 3 weeks ago

Dear maintainers of gpac:

The HttpOut filter seems to include querystrings when serving files, it's not documented anywhere and I'm not sure if it's intended or not.

Repro case:

HTTP/1.1 200 OK Server: GPAC 2.3-DEV Date: Fri, 10 May 2024 06:33:47 GMT Connection: keep-alive Keep-Alive: timeout=30 ETag: 1715322826952040 Content-Length: 2615 Content-Type: application/dash+xml

... (content follows)


- Request for the same file with querystring
```sh
$ curl "localhost:8080/public.mpd?qweqweq"

HTTP/1.1 404 Not Found
Server: GPAC 2.3-DEV
Date: Fri, 10 May 2024 06:33:41 GMT
Content-Type: text/plain
Content-Length: 47

Resource /public.mpd?qweqweq cannot be resolved⏎

As of now, I'm not sure if this behavior is intended. I would think that the querystrings, unless noted otherwise, doesn't make a difference for HttpOut.


Thanks for reporting your issue. Please make sure these boxes are checked before submitting your issue - thank you!

Detailed guidelines: https://gpac.io/bug-reporting/

rbouqueau commented 3 weeks ago

Thanks for reporting!

aureliendavid commented 2 weeks ago

Hi

this should now be fixed on latest master (see PR for possible caveats)

thanks for reporting

hiimdoublej-swag commented 2 weeks ago

Hi

this should now be fixed on latest master (see PR for possible caveats)

thanks for reporting

Thanks @aureliendavid , I'll find some time to try it out. However, since the PR seems to only target the "file on disk" case, would it work for the chunked-transfer case (LLDASH Server) too ?

I'll test out both and report back here when I get the chance, thanks for the help so far.