-
Notifications
You must be signed in to change notification settings - Fork 436
query string not escaping '+' #516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
https://www.urlencoder.io/python/ -- recommended reading (-: should be an easy fix |
We aren't doing encoding ourselves anywhere, it's handled by the http library we use. I can take a look when I have time, but I'm not sure what options we have available to us over the lower layer's encoding |
I fixed this by doing |
dude, you are doing string munging to generate query params server-client-python/tableauserverclient/server/request_options.py Lines 95 to 97 in b260ebc
self._append_view_filters(params)
return "{0}?{1}".format(url, '&'.join(params)) |
sorry for being a little short, trying to get tableau integration working has been my life for the past week or so |
Right, but our http library itself encodes those values when it makes the request (I had a bug in the opposite direction recently, maybe this is actually related to that) We can look at encoding it at the places you just mentioned, I just want to make sure nothing gets double encoded |
makes sense -- maybe it is possible to pass the query string to HTTP as a key/value dict instead of doing the string construction yourself? |
that seems to be the recommended way to use requests: https://requests.kennethreitz.org/en/master/user/quickstart/#passing-parameters-in-urls |
parameters['params'] = request_object.get_query_params() or similar
there's no problem with different HTTP methods -- body data is |
This works today. |
1- create user with name='a+b'
2- fetch user with filter query set to name='a+b'; returns no items
3- fetch user with filter query set to name='a%2b'; returns user
I don't know how or where, but seems pretty clear somewhere it is doing
?name={name}
in a query string, and it should be encoding but isn'tThe text was updated successfully, but these errors were encountered: