Support passing customData to media load request #137
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.
There are two issues here:
ChromeCast.load
did not allow passing acustomData
parametercustomData
serialiser assumed an object with propertypayload
containing an object with only string values.From the documentation (https://developers.google.com/cast/docs/media/messages#Load):
There shouldn't be any assumptions about how this is serialised, so providing an
Object
gives the caller the greatest flexibility.Given that the functions to construct the
StandardRequest.Load
object are package-private and that no public method exists to setcustomData
, I believe it's unlikely anyone is relying on the existing serialisation (i.e. wrapped in an object propertypayload
).Use case: When reverse engineering the Soundcloud client controller in Chrome, I found it required a
customData
object on theLOAD
event, which I could not set with this library without resorting to reflection.