Skip to content

Instantly share code, notes, and snippets.

@jaderfeijo
Last active March 13, 2018 10:44
Show Gist options
  • Save jaderfeijo/85abac17473c545412319d0dc7cd8671 to your computer and use it in GitHub Desktop.
Save jaderfeijo/85abac17473c545412319d0dc7cd8671 to your computer and use it in GitHub Desktop.
URL+QueryStrings.swift
import Foundation
extension URL {
var hasQueryStringParameters: Bool {
return query != nil
}
var queryStringParameters: [String: String] {
var results = [String: String]()
if let keyValues = query?.components(separatedBy: "&"), keyValues.count > 0 {
for pair in keyValues {
let kv = pair.components(separatedBy: "=")
if kv.count > 1 {
let key = kv[0].urlDecoded
let value = kv[1].urlDecoded
results.updateValue(
value,
forKey: key
)
}
}
}
return results
}
}
// MARK: - Private -
extension String {
fileprivate
var urlDecoded: String {
return removingPercentEncoding ?? self
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment