Skip to content

Commit d8ceaee

Browse files
authoredMar 21, 2024
Merge pull request #37 from smartystreets/xan/fix-url-prefix-bug
Fix url prefix bug from retries
·
8.16.08.12.3
2 parents 1b08082 + 862bfae commit d8ceaee

File tree

9 files changed

+34
-14
lines changed

9 files changed

+34
-14
lines changed
 

‎Sources/SmartyStreets/InternationalAutocomplete/InternationalAutocompleteClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class InternationalAutocompleteClient: NSObject {
4343
let request = SmartyRequest()
4444

4545
if let unwrappedPrefix = lookup.addressID {
46-
request.urlPrefix = "/" + unwrappedPrefix
46+
request.urlComponents = "/" + unwrappedPrefix
4747
}
4848

4949
request.setValue(value: lookup.search ?? "", HTTPParameterField: "search")

‎Sources/SmartyStreets/SmartyRequest.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public class SmartyRequest {
55
public var headers:[String:String]
66
public var parameters:[String:String]
77
public var urlPrefix:String
8+
public var urlComponents:String
89
public var payload:Data?
910
public var referer:String?
1011
public var method:String
@@ -14,6 +15,7 @@ public class SmartyRequest {
1415
self.headers = NSMutableDictionary() as! [String : String]
1516
self.parameters = NSMutableDictionary() as! [String : String]
1617
self.urlPrefix = ""
18+
self.urlComponents = ""
1719
self.payload = nil
1820
self.referer = nil
1921
self.method = "GET"

‎Sources/SmartyStreets/URLPrefixSender.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ public class URLPrefixSender: SmartySender {
1111
}
1212

1313
override func sendRequest(request: SmartyRequest, error: inout NSError!) -> SmartyResponse! {
14-
if !request.urlPrefix.isEmpty {
15-
request.urlPrefix = self.urlPrefix + request.urlPrefix
14+
if !request.urlComponents.isEmpty {
15+
request.urlPrefix = self.urlPrefix + request.urlComponents
1616
} else {
1717
request.urlPrefix = self.urlPrefix
1818
}

‎Sources/SmartyStreets/USEnrichment/ResultTypes/PropertyFinancial/FinancialResult.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import Foundation
22

33
public struct FinancialResult: Codable {
4-
let smartyKey, dataSetName, dataSubsetName: String
5-
let attributes: FinancialAttributes
4+
public let smartyKey, dataSetName, dataSubsetName: String?
5+
public let attributes: FinancialAttributes?
66

77
enum CodingKeys: String, CodingKey {
88
case smartyKey = "smarty_key"

‎Sources/SmartyStreets/USEnrichment/ResultTypes/PropertyPrincipal/PrincipalResult.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import Foundation
22

33
public struct PrincipalResult: Codable {
4-
let smartyKey, dataSetName, dataSubsetName: String
5-
let attributes: PrincipalAttributes
4+
public let smartyKey, dataSetName, dataSubsetName: String?
5+
public let attributes: PrincipalAttributes?
66

77
enum CodingKeys: String, CodingKey {
88
case smartyKey = "smarty_key"

‎Sources/SmartyStreets/USEnrichment/USEnrichmentClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public class USEnrichmentClient: NSObject {
6262

6363
func buildRequest(lookup:EnrichmentLookup) -> SmartyRequest {
6464
let request = SmartyRequest()
65-
request.urlPrefix = "/" + lookup.getSmartyKey() + "/" + lookup.getDatasetName() + "/" + lookup.getDataSubsetName()
65+
request.urlComponents = "/" + lookup.getSmartyKey() + "/" + lookup.getDatasetName() + "/" + lookup.getDataSubsetName()
6666
return request
6767
}
6868
}

‎Tests/SmartyStreetsTests/URLPrefixSenderTests.swift

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class URLPrefixSenderTests: XCTestCase {
2222

2323
func testRequestURLPresent() {
2424
let request:SmartyRequest = SmartyRequest()
25-
request.urlPrefix = "/jimbo"
25+
request.urlComponents = "/jimbo"
2626

2727
_ = self.urlPrefixSender.sendRequest(request: request, error: &self.error)
2828

@@ -39,4 +39,16 @@ class URLPrefixSenderTests: XCTestCase {
3939
}
4040

4141

42+
func testMultipleSends() {
43+
let request:SmartyRequest = SmartyRequest()
44+
request.urlComponents = "/jimbo"
45+
46+
_ = self.urlPrefixSender.sendRequest(request: request, error: &self.error)
47+
_ = self.urlPrefixSender.sendRequest(request: request, error: &self.error)
48+
49+
XCTAssertEqual(request.urlPrefix, "http://mysite.com/lookup/jimbo")
50+
51+
}
52+
53+
4254
}

‎Tests/SmartyStreetsTests/USEnrichmentTests/FinancialResultTest.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,15 @@ class USEnrichmentFinancialResultTest: XCTestCase {
4747
let results = serializer.Deserialize(payload: jsonData, error: &self.error) as? [FinancialResult]
4848
print(results!)
4949
let result = results![0]
50+
51+
guard let attributes = result.attributes else {
52+
print("Attributes was null")
53+
return
54+
}
5055

5156
XCTAssertEqual("xxx", result.smartyKey)
52-
XCTAssertEqual("property", result.dataSetName.lowercased())
53-
XCTAssertEqual("financial", result.dataSubsetName.lowercased())
54-
55-
let attributes = result.attributes
57+
XCTAssertEqual("property", result.dataSetName)
58+
XCTAssertEqual("financial", result.dataSubsetName)
5659

5760
XCTAssertEqual("assessed_improvement_percent", attributes.assessedImprovementPercent!.lowercased())
5861
XCTAssertEqual("assessed_improvement_value", attributes.assessedImprovementValue!.lowercased())

‎Tests/SmartyStreetsTests/USEnrichmentTests/PrincipalResultTest.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ class USEnrichmentPrincipalResultTest: XCTestCase {
5151
let results = serializer.Deserialize(payload: jsonData, error: &self.error) as? [PrincipalResult]
5252
print(results!)
5353
let result = results![0]
54-
let attributes = result.attributes
54+
guard let attributes = result.attributes else {
55+
print("Attributes was null")
56+
return
57+
}
5558

5659
XCTAssertEqual("xxx", result.smartyKey)
5760
XCTAssertEqual("property", result.dataSetName)

0 commit comments

Comments
 (0)
Please sign in to comment.