Added support for authenticated podcast feeds #4878
+110
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No Issue created -> New Proposed Feature (Could be considered a fix as well?)
Added user-configurable "Authenticated Feed" option for podcast downloads such as from the Verge's add-free podcast feeds.
I added a an option for a user to set a new flag
isAuthenticatedFeedas I thought that doing it based on URL string values would be far too "hacky".Previously the episode downloads would fail as the HTTP request headers were missing the
['referer']value which is simply the feeds URL. I believe we could simply send the missing['referer']value into the header with no consequences and that would simplify my code. I didn't do that simply because I am not an expert on the norms around podcast feeds and certain servers 'could" reject the request if the header was unneeded. If someone has more experience I would appreciate their thoughts. Therefore the changes I made to fix the issue are:ffmpegHelpers.jsto conditionally add Referer headerI tophatted the changes and found that episode downloads worked in my instance when going through the modal for Episodes and I requested a download there, or when the CRON job would run.
I did not add a test since the initial code was not tested.
Note: Hopefully all required information is provided, please let me know if there are any issues as I tried to follow the documentation for supporting the project as best as could.