Skip to content

Commit 76d401b

Browse files
authored
Merge pull request #47 from smartystreets/xan/fix-url-prefix-bug
Fix url prefix bug from retries
2 parents 6ce870e + 8aed3cd commit 76d401b

File tree

6 files changed

+17
-7
lines changed

6 files changed

+17
-7
lines changed

smartystreets_python_sdk/international_autocomplete/client.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def build_request(self, lookup):
3535
request = Request()
3636

3737
if lookup.address_id is not None:
38-
request.url_prefix = "/" + lookup.address_id
38+
request.url_components = "/" + lookup.address_id
3939

4040
self.add_parameter(request, 'country', lookup.country)
4141
self.add_parameter(request, 'search', lookup.search)

smartystreets_python_sdk/request.py

+1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ def __init__(self):
66
self.parameters = OrderedDict()
77
self.payload = None
88
self.url_prefix = None
9+
self.url_components = None
910
self.referer = None
1011
self.content_type = 'application/json'

smartystreets_python_sdk/url_prefix_sender.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ def __init__(self, url_prefix, inner):
44
self.inner = inner
55

66
def send(self, request):
7-
if request.url_prefix is not None:
8-
request.url_prefix = self.url_prefix + request.url_prefix
7+
if request.url_components:
8+
request.url_prefix = self.url_prefix + request.url_components
99
else:
1010
request.url_prefix = self.url_prefix
11-
1211
return self.inner.send(request)

smartystreets_python_sdk/us_enrichment/client.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ def send_lookup(client: Client, lookup):
4747

4848
def build_request(lookup):
4949
request = Request()
50-
request.url_prefix = lookup.smartykey + "/" + lookup.dataset + "/" + lookup.dataSubset
50+
request.url_components = lookup.smartykey + "/" + lookup.dataset + "/" + lookup.dataSubset
5151

5252
return request

test/international_autocomplete/client_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def test_sending_fully_populated_lookup(self):
3434
self.assertEqual(7, sender.request.parameters['max_results'])
3535
self.assertEqual('3', sender.request.parameters['include_only_locality'])
3636
self.assertEqual('4', sender.request.parameters['include_only_postal_code'])
37-
self.assertEqual('/5', sender.request.url_prefix)
37+
self.assertEqual('/5', sender.request.url_components)
3838

3939
def test_deserialize_called_with_response_body(self):
4040
response = Response('Hello, World!', 0)

test/url_prefix_sender_test.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def test_request_url_present(self):
88
fakeSender = FakeSender()
99
prefix_sender = URLPrefixSender('https://mysite.com', fakeSender)
1010
request = Request()
11-
request.url_prefix = '/jimbo'
11+
request.url_components = '/jimbo'
1212

1313
new_request = prefix_sender.send(request)
1414
self.assertEqual('https://mysite.com/jimbo', new_request.url_prefix)
@@ -21,6 +21,16 @@ def test_request_url_not_present(self):
2121
new_request = prefix_sender.send(request)
2222
self.assertEqual('https://mysite.com', new_request.url_prefix)
2323

24+
def test_multiple_sends(self):
25+
fakeSender = FakeSender()
26+
prefix_sender = URLPrefixSender('https://mysite.com', fakeSender)
27+
request = Request()
28+
request.url_components = '/jimbo'
29+
30+
new_request = prefix_sender.send(request)
31+
new_request = prefix_sender.send(request)
32+
self.assertEqual('https://mysite.com/jimbo', new_request.url_prefix)
33+
2434
class FakeSender:
2535
def send(self, request):
2636
return request

0 commit comments

Comments
 (0)