Revision 023230b5
b/kamaki/clients/connection/kamakicon.py | ||
---|---|---|
46 | 46 |
from httplib import ResponseNotReady |
47 | 47 |
|
48 | 48 |
|
49 |
def _encode(v): |
|
50 |
if v and isinstance(v, unicode): |
|
51 |
return quote(v.encode('utf-8')) |
|
52 |
return v |
|
53 |
|
|
54 |
|
|
49 | 55 |
class KamakiHTTPResponse(KamakiResponse): |
50 | 56 |
|
51 | 57 |
def _get_response(self): |
... | ... | |
135 | 141 |
params = dict(self.params) |
136 | 142 |
params.update(extra_params) |
137 | 143 |
for i, (key, val) in enumerate(params.items()): |
138 |
if isinstance(val, unicode): |
|
139 |
val = quote(val.encode('utf-8')) |
|
144 |
val = _encode(val) |
|
140 | 145 |
url += '%s%s' % ('&' if i else '?', key) |
141 | 146 |
if val: |
142 | 147 |
url += '=%s' % val |
... | ... | |
171 | 176 |
(scheme, netloc) = self._retrieve_connection_info(async_params) |
172 | 177 |
headers = dict(self.headers) |
173 | 178 |
for k, v in async_headers.items(): |
174 |
v = quote(v.encode('utf-8')) if isinstance(v, unicode) else str(v)
|
|
179 |
v = _encode(v)
|
|
175 | 180 |
headers[k] = v |
176 | 181 |
|
177 | 182 |
#de-unicode headers to prepare them for http |
178 | 183 |
http_headers = {} |
179 | 184 |
for k, v in headers.items(): |
180 |
v = quote(v.encode('utf-8')) if isinstance(v, unicode) else str(v)
|
|
185 |
v = _encode(v)
|
|
181 | 186 |
http_headers[k] = v |
182 | 187 |
|
183 | 188 |
#get connection from pool |
b/kamaki/clients/livetest/pithos.py | ||
---|---|---|
224 | 224 |
account_post internally |
225 | 225 |
""" |
226 | 226 |
u1 = self.client.account |
227 |
u2 = self.client.account |
|
228 |
self.client.set_account_group(grpName, [u1, u2]) |
|
227 |
u2 = '1nc0r3c7-d15p14y-n4m3' |
|
228 |
self.assertRaises( |
|
229 |
ClientError, |
|
230 |
self.client.set_account_group, |
|
231 |
grpName, [u1, u2]) |
|
232 |
self.client.set_account_group(grpName, [u1]) |
|
229 | 233 |
r = self.client.get_account_group() |
230 |
self.assertEqual(r['x-account-group-' + grpName], '%s,%s' % (u1, u2))
|
|
234 |
self.assertEqual(r['x-account-group-' + grpName], '%s' % u1)
|
|
231 | 235 |
self.client.del_account_group(grpName) |
232 | 236 |
r = self.client.get_account_group() |
233 | 237 |
self.assertTrue('x-account-group-' + grpName not in r) |
Also available in: Unified diff