mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-05 03:43:52 +00:00
Fixed "+" space encoding in URL
This commit is contained in:
1 parent
5fc7babf47
commit
f231ebad8e
1 file changed
+9
-7
@@ -36,17 +36,19 @@ public class QRCodeData {
|
||||
serverUrl! += ":" + url!.port!.stringValue
|
||||
}
|
||||
|
||||
let comps = NSURLComponents(string: (url?.absoluteString)!);
|
||||
comps!.percentEncodedQuery = comps!.percentEncodedQuery!.stringByReplacingOccurrencesOfString("+", withString: "%20");
|
||||
|
||||
// Get query parameter
|
||||
eventId = getQueryStringParameter(url!.absoluteString, param: QRCodeData.Keys.eventId) // queryStringDictionary[QRCodeData.Keys.eventId]
|
||||
leaderBoardName = getQueryStringParameter(url!.absoluteString, param: QRCodeData.Keys.leaderBoardName)
|
||||
competitorId = getQueryStringParameter(url!.absoluteString, param: QRCodeData.Keys.competitorId) // queryStringDictionary[QRCodeData.Keys.competitorId]
|
||||
eventId = getQueryStringParameter(comps!, param: QRCodeData.Keys.eventId) // queryStringDictionary[QRCodeData.Keys.eventId]
|
||||
leaderBoardName = getQueryStringParameter(comps!, param: QRCodeData.Keys.leaderBoardName)
|
||||
competitorId = getQueryStringParameter(comps!, param: QRCodeData.Keys.competitorId) // queryStringDictionary[QRCodeData.Keys.competitorId]
|
||||
|
||||
return eventId != nil && leaderBoardName != nil && competitorId != nil
|
||||
}
|
||||
|
||||
func getQueryStringParameter(url: String, param: String) -> String? {
|
||||
return NSURLComponents(string: url)?.queryItems?.filter({ (item) -> Bool in
|
||||
item.name == param
|
||||
}).first?.value?.stringByRemovingPercentEncoding;
|
||||
func getQueryStringParameter(comps: NSURLComponents, param: String) -> String? {
|
||||
return comps.queryItems?.filter({(item) -> Bool in item.name == param}).first?.value;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user