Use a more robust parser for session data messages #10
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.
I was having some trouble with getting the currently playing playlist: the API was returning string data which wasn't able to be parsed as JSON with the existing
find("[")
code:This PR adds code to decode the length-prefixed JSON message list that I am getting in a more principled way.
Unfortunately, it isn't sufficient to get the playlist data properly in my hands, because:
nowPlaying
message is absent from the returned list (does thebind
endpoint need to be called again to stream more events?)watch_queue_ajax
request can be made, but YouTube has started returning a 400 Bad Request error for it instead of playlist contents. Another API endpoint that returns the playlist contents may need to be determined.But this at least prevents a JSON parsing error from being thrown.