Skip to content
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

Update for BSK changes of URL parameter API #697

Merged
merged 2 commits into from
Aug 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DuckDuckGo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -6212,7 +6212,7 @@
repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit";
requirement = {
kind = exactVersion;
version = 24.0.0;
version = 26.0.0;
};
};
AA06B6B52672AF8100F541C5 /* XCRemoteSwiftPackageReference "Sparkle" */ = {
Expand Down
2 changes: 1 addition & 1 deletion DuckDuckGo/API/APIRequest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ enum APIRequest {
headers: HTTPHeaders = APIHeaders().defaultHeaders,
timeoutInterval: TimeInterval = 60.0) -> URLRequest {
let url = (try? parameters?.reduce(url) { partialResult, parameter in
try partialResult.addParameter(
try partialResult.appendingParameter(
name: parameter.key,
value: parameter.value,
allowedReservedCharacters: allowedQueryReservedCharacters
Expand Down
8 changes: 1 addition & 7 deletions DuckDuckGo/Autofill/ContentOverlayViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,7 @@ public final class ContentOverlayViewController: NSViewController, EmailManagerR
completion: @escaping (Data?, Error?) -> Void) {
let currentQueue = OperationQueue.current

let finalURL: URL

if let parameters = parameters {
finalURL = (try? url.addParameters(parameters)) ?? url
} else {
finalURL = url
}
let finalURL = (try? url.appendingParameters(parameters ?? [:])) ?? url

var request = URLRequest(url: finalURL, timeoutInterval: timeoutInterval)
request.allHTTPHeaderFields = headers
Expand Down
21 changes: 12 additions & 9 deletions DuckDuckGo/Common/Extensions/URLExtension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@ extension URL {
}

do {
var searchUrl = Self.duckDuckGo
searchUrl = try searchUrl.addParameter(name: DuckDuckGoParameters.search.rawValue, value: trimmedQuery)
return searchUrl
return try Self.duckDuckGo
.appendingParameter(name: DuckDuckGoParameters.search.rawValue, value: trimmedQuery)
} catch let error {
os_log("URL extension: %s", type: .error, error.localizedDescription)
return nil
Expand Down Expand Up @@ -224,20 +223,24 @@ extension URL {

static func searchAtb(atbWithVariant: String, setAtb: String) -> URL? {
return try? Self.initialAtb
.addParameter(name: DuckDuckGoParameters.ATB.atb, value: atbWithVariant)
.addParameter(name: DuckDuckGoParameters.ATB.setAtb, value: setAtb)
.appendingParameters([
DuckDuckGoParameters.ATB.atb: atbWithVariant,
DuckDuckGoParameters.ATB.setAtb: setAtb
])
}

static func appRetentionAtb(atbWithVariant: String, setAtb: String) -> URL? {
return try? Self.initialAtb
.addParameter(name: DuckDuckGoParameters.ATB.activityType, value: DuckDuckGoParameters.ATB.appUsageValue)
.addParameter(name: DuckDuckGoParameters.ATB.atb, value: atbWithVariant)
.addParameter(name: DuckDuckGoParameters.ATB.setAtb, value: setAtb)
.appendingParameters([
DuckDuckGoParameters.ATB.activityType: DuckDuckGoParameters.ATB.appUsageValue,
DuckDuckGoParameters.ATB.atb: atbWithVariant,
DuckDuckGoParameters.ATB.setAtb: setAtb
])
}

static func exti(forAtb atb: String) -> URL? {
let extiUrl = URL(string: Self.exti)!
return try? extiUrl.addParameter(name: DuckDuckGoParameters.ATB.atb, value: atb)
return try? extiUrl.appendingParameter(name: DuckDuckGoParameters.ATB.atb, value: atb)
}

// MARK: - Components
Expand Down
8 changes: 1 addition & 7 deletions DuckDuckGo/Email/EmailManagerRequestDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,7 @@ extension EmailManagerRequestDelegate {
completion: @escaping (Data?, Error?) -> Void) {
let currentQueue = OperationQueue.current

let finalURL: URL

if let parameters = parameters {
finalURL = (try? url.addParameters(parameters)) ?? url
} else {
finalURL = url
}
let finalURL = (try? url.appendingParameters(parameters ?? [:])) ?? url

var request = URLRequest(url: finalURL, timeoutInterval: timeoutInterval)
request.allHTTPHeaderFields = headers
Expand Down
4 changes: 2 additions & 2 deletions DuckDuckGo/Navigation Bar/View/AddressBarTextField.swift
Original file line number Diff line number Diff line change
Expand Up @@ -265,11 +265,11 @@ final class AddressBarTextField: NSTextField {
let oldURL = selectedTabViewModel.tab.content.url,
oldURL.isDuckDuckGoSearch {
if let ia = try? oldURL.getParameter(name: URL.DuckDuckGoParameters.ia.rawValue),
let newURL = try? url.addParameter(name: URL.DuckDuckGoParameters.ia.rawValue, value: ia) {
let newURL = try? url.appendingParameter(name: URL.DuckDuckGoParameters.ia.rawValue, value: ia) {
url = newURL
}
if let iax = try? oldURL.getParameter(name: URL.DuckDuckGoParameters.iax.rawValue),
let newURL = try? url.addParameter(name: URL.DuckDuckGoParameters.iax.rawValue, value: iax) {
let newURL = try? url.appendingParameter(name: URL.DuckDuckGoParameters.iax.rawValue, value: iax) {
url = newURL
}
}
Expand Down
6 changes: 3 additions & 3 deletions DuckDuckGo/Suggestions/Model/SuggestionContainer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ extension SuggestionContainer: SuggestionLoadingDataSource {
completion: @escaping (Data?, Error?) -> Void) {
var url = url
parameters.forEach {
if let newUrl = try? url.addParameter(name: $0.key, value: $0.value) {
url = newUrl
} else {
do {
try url = url.appendingParameter(name: $0.key, value: $0.value)
} catch {
assertionFailure("SuggestionContainer: Failed to add parameter")
}
}
Expand Down