peterservice-rnd/robotframework-rabbitmq

Can't get message when vhost contain /foo

flokor opened this issue · 0 comments

Hello,

I have problem in get message with vhost contain / followed by string, for example /foo
The / is not URL encoded when POST is sent to /api/queue API.

Error message :
HTTPError: 405 Client Error: Method Not Allowed for url: http://rabbitmq-xxxx/api/queues//foo/queue.test/get

Correct URL should be http://rabbitmq-xxxx/api/queues/%2Ffoo/queue.test/get

The reason urllib.parse.quote is used to quote vhost. According to documentation the / character is safe parameter by default.

urllib.parse.quote(string, safe='/', encoding=None, errors=None)

vhost = quote(vhost)