Prior99 / mopidy-subidy

Mopidy extension for playing music from Subsonic servers.
BSD 3-Clause "New" or "Revised" License
30 stars 10 forks source link

Urlencode URIs #11

Closed hhm0 closed 7 years ago

hhm0 commented 7 years ago

This pull escapes subsonic API URIs which are constructed "by hand" (without using py-sonic).

This should also fix #2.

hhm0 commented 7 years ago

No; in fact, I was missing something. :-)

It worked fine with supysonic, but with subsonic...

GET //rest/getCoverArt.view?p=guest&u=guest2&id=178 HTTP/1.1
Host: demo.subsonic.org
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
user-agent: Mopidy-Subidy/0.2.1 Mopidy/2.1.0 CPython/2.7.13

<?xml version="1.0" encoding="UTF-8"?>
<subsonic-response xmlns="http://subsonic.org/restapi" status="failed" version="1.15.0">
   <error code="10" message="Required parameter is missing."/>
</subsonic-response>

The problem was that the wrong dict was being updated. Therefore, many of the parameters were not being added to the request!