Change message encoding to support URLs with ? #47
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.
Before this change, if I request to play the URL
through Home Assistant, it will result in this message being sent:
but despite saying in CLI specification that special characters in arguments need to be encoded, HEOS seems to take the url argument and pass it to the stream server verbatim, as demonstrated by the nginx log resulting from this command:
I've been playing URLs with ? in them for some months now by inserting them into the HEOS command without quoting them, for example:
This seems to be consistent with the requirement that url be the last argument, because then the controller can treat the rest of the command as URL without processing it.
This change introduces special handling of the url argument, so that it bypasses quoting in addition to being the last argument.
Checklist:
.coveragerc
permitted.README.MD
updated (if necessary)