query parameter has base64string
TimberTang opened this issue · comments
like this
schema://entry?q=eyJ0eXBlIjoiTUVTU0FHRV9ERVRBSUwiLCJpZCI6Ik00YzNmNmE5Yzc4MjA0ZTE3OTQyZDBiMjdiNjFlZmEyMyIsInN0YXR1cyI6IkVOQUJMRUQiLCJxdWVyeSI6eyJib2R5IjoiQSBnZW50bGUgcmVtaW5kZXIgdGhhdCBTR0QgMTAuMDAgd2lsbCBiZSBkZWR1Y3RlZCBmb3IgdGhlIDJuZCBQYXltZW50IGZvciB5b3VyIG9yZGVyIE8wNTg1OTY5OTg4IG9uIDAxLUF1Zy0yMDIwLiIsImNyZWF0ZVRpbWUiOjE1OTU5OTUyMDAyMDAsImlzUmVhZCI6dHJ1ZSwibWVzc2FnZUlkIjoiTTRjM2Y2YTljNzgyMDRlMTc5NDJkMGIyN2I2MWVmYTIzIiwidGl0bGUiOiJQYXltZW50IFJlbWluZGVyIiwidXNlcklkIjoiVTVEQ0NDNzNDQ0M0ODc2MDAwMTA0MTRGQSJ9fQ==
this is the code for parameterFromQuery
- (NSDictionary *)DPL_parametersFromQueryString {
NSArray *params = [self componentsSeparatedByString:@"&"];
NSMutableDictionary *paramsDict = [NSMutableDictionary dictionaryWithCapacity:[params count]];
for (NSString *param in params) {
NSArray *pairs = [param componentsSeparatedByString:@"="];
if (pairs.count == 2) {
// e.g. ?key=value
NSString *key = [pairs[0] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *value = [pairs[1] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
paramsDict[key] = value;
}
else if (pairs.count == 1) {
// e.g. ?key
NSString *key = [[pairs firstObject] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
paramsDict[key] = @"";
}
}
return [paramsDict copy];
}