fix: support URL-encoded form data in qBittorrent add endpoint - #2
Merged
Merged
Conversation
Sonarr/Radarr send URL-encoded form data (not multipart) when adding magnet links. Check Content-Type and fall back to ParseForm when the request is not multipart, instead of unconditionally calling ParseMultipartForm.
Contributor
Author
|
Tested on my local system with Sonarr sending magnet links. Both multipart (file uploads) and URL-encoded (magnet links) content types are handled correctly. |
Owner
|
Looks good to me. |
… detection Covers uppercase Multipart/Form-Data and extra params (e.g. boundary), per upstream review feedback on PR MrJoiny#2.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Sonarr/Radarr send
application/x-www-form-urlencoded(notmultipart/form-data) when adding magnet links via the qBittorrent API. The handler unconditionally callsr.ParseMultipartForm()which returns a 400 Bad Request when the Content-Type is URL-encoded.Check
Content-Typeat the top of the handler and fall back tor.ParseForm()when the request is not multipart. The existingr.PostFormValue()calls and theif r.MultipartForm != nilguard for file uploads are compatible with both parsers.Closes #1