@@ -165,9 +165,8 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
165165 NSMutableString *encodedDictionary = [[NSMutableString alloc ] initWithString: @" {" ];
166166 for (NSString *key in dictionary) {
167167
168- // protect against non-string keys
169168 if (![key isKindOfClass: [NSString class ]]) {
170- [[BranchLogger shared ] logError : [NSString stringWithFormat: @" Unexpected key type %@ . Skipping key. " , [key class ]] error: nil ];
169+ [[BranchLogger shared ] logWarning : [NSString stringWithFormat: @" Ignoring unexpected key type %@ " , [key class ]] error: nil ];
171170 continue ;
172171 }
173172
@@ -177,38 +176,30 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
177176 id obj = dictionary[key];
178177 if ([obj isKindOfClass: [NSString class ]]) {
179178 value = [BNCEncodingUtils sanitizedStringFromString: obj];
180- }
181- else if ([obj isKindOfClass: [NSURL class ]]) {
179+ } else if ([obj isKindOfClass: [NSURL class ]]) {
182180 value = [obj absoluteString ];
183- }
184- else if ([obj isKindOfClass: [NSDate class ]]) {
181+ } else if ([obj isKindOfClass: [NSDate class ]]) {
185182 value = [BNCEncodingUtils iso8601StringFromDate: obj];
186- }
187- else if ([obj isKindOfClass: [NSArray class ]]) {
183+ } else if ([obj isKindOfClass: [NSArray class ]]) {
188184 value = [BNCEncodingUtils encodeArrayToJsonString: obj];
189185 string = NO ;
190- }
191- else if ([obj isKindOfClass: [NSDictionary class ]] || [obj isKindOfClass: [NSMutableDictionary class ]]) {
186+ } else if ([obj isKindOfClass: [NSDictionary class ]] || [obj isKindOfClass: [NSMutableDictionary class ]]) {
192187 value = [BNCEncodingUtils encodeDictionaryToJsonString: obj];
193188 string = NO ;
194- }
195- else if ([obj isKindOfClass: [NSNumber class ]]) {
189+ } else if ([obj isKindOfClass: [NSNumber class ]]) {
196190 string = NO ;
197- if (obj == (id )kCFBooleanFalse )
191+ if (obj == (id )kCFBooleanFalse ) {
198192 value = @" false" ;
199- else
200- if (obj == (id )kCFBooleanTrue )
193+ } else if (obj == (id )kCFBooleanTrue ) {
201194 value = @" true" ;
202- else
195+ } else {
203196 value = [obj stringValue ];
204- }
205- else if ([obj isKindOfClass: [NSNull class ]]) {
197+ }
198+ } else if ([obj isKindOfClass: [NSNull class ]]) {
206199 value = @" null" ;
207200 string = NO ;
208- }
209- else {
210- // If this type is not a known type, don't attempt to encode it.
211- [[BranchLogger shared ] logError: [NSString stringWithFormat: @" Cannot encode value for key %@ . The value is not an accepted type." , key] error: nil ];
201+ } else {
202+ [[BranchLogger shared ] logWarning: [NSString stringWithFormat: @" Ignoring unexpected value type %@ " , [obj class ]] error: nil ];
212203 continue ;
213204 }
214205
@@ -230,12 +221,11 @@ + (NSString *)encodeDictionaryToJsonString:(NSDictionary *)dictionary {
230221
231222 [encodedDictionary appendString: @" }" ];
232223
233- [[BranchLogger shared ] logDebug : [NSString stringWithFormat: @" Encoded dictionary: %@ ." , encodedDictionary] error: nil ];
224+ [[BranchLogger shared ] logVerbose : [NSString stringWithFormat: @" Encoded dictionary: %@ ." , encodedDictionary] error: nil ];
234225 return encodedDictionary;
235226}
236227
237228+ (NSString *)encodeArrayToJsonString : (NSArray *)array {
238- // Empty array
239229 if (![array count ]) {
240230 return @" []" ;
241231 }
@@ -247,41 +237,31 @@ + (NSString *)encodeArrayToJsonString:(NSArray *)array {
247237
248238 if ([obj isKindOfClass: [NSString class ]]) {
249239 value = [BNCEncodingUtils sanitizedStringFromString: obj];
250- }
251- else if ([obj isKindOfClass: [NSURL class ]]) {
240+ } else if ([obj isKindOfClass: [NSURL class ]]) {
252241 value = [obj absoluteString ];
253- }
254- else if ([obj isKindOfClass: [NSDate class ]]) {
242+ } else if ([obj isKindOfClass: [NSDate class ]]) {
255243 value = [BNCEncodingUtils iso8601StringFromDate: obj];
256- }
257- else if ([obj isKindOfClass: [NSArray class ]]) {
244+ } else if ([obj isKindOfClass: [NSArray class ]]) {
258245 value = [BNCEncodingUtils encodeArrayToJsonString: obj];
259246 string = NO ;
260- }
261- else if ([obj isKindOfClass: [NSDictionary class ]] || [obj isKindOfClass: [NSMutableDictionary class ]]) {
247+ } else if ([obj isKindOfClass: [NSDictionary class ]] || [obj isKindOfClass: [NSMutableDictionary class ]]) {
262248 value = [BNCEncodingUtils encodeDictionaryToJsonString: obj];
263249 string = NO ;
264- }
265- else if ([obj isKindOfClass: [NSNumber class ]]) {
250+ } else if ([obj isKindOfClass: [NSNumber class ]]) {
266251 value = [obj stringValue ];
267252 string = NO ;
268- }
269- else if ([obj isKindOfClass: [NSNull class ]]) {
253+ } else if ([obj isKindOfClass: [NSNull class ]]) {
270254 value = @" null" ;
271255 string = NO ;
272- }
273- else {
274- // If this type is not a known type, don't attempt to encode it.
275- [[BranchLogger shared ] logError: [NSString stringWithFormat: @" Cannot encode value %@ . The value is not an accepted type." , obj] error: nil ];
256+ } else {
257+ [[BranchLogger shared ] logWarning: [NSString stringWithFormat: @" Ignoring unexpected value type %@ " , [obj class ]] error: nil ];
276258 continue ;
277259 }
278260
279- // If this is a "string" object, wrap it in quotes
280261 if (string) {
262+ // quote strings
281263 [encodedArray appendFormat: @" \" %@ \" ," , value];
282- }
283- // Otherwise, just add the raw value after the colon
284- else {
264+ } else {
285265 [encodedArray appendFormat: @" %@ ," , value];
286266 }
287267 }
@@ -290,8 +270,7 @@ + (NSString *)encodeArrayToJsonString:(NSArray *)array {
290270 [encodedArray deleteCharactersInRange: NSMakeRange ([encodedArray length ] - 1 , 1 )];
291271 [encodedArray appendString: @" ]" ];
292272
293- [[BranchLogger shared ] logDebug: [NSString stringWithFormat: @" Encoded array: %@ ." , encodedArray] error: nil ];
294-
273+ [[BranchLogger shared ] logVerbose: [NSString stringWithFormat: @" Encoded array: %@ ." , encodedArray] error: nil ];
295274 return encodedArray;
296275}
297276
@@ -305,26 +284,20 @@ + (NSString *)encodeDictionaryToQueryString:(NSDictionary *)dictionary {
305284 NSMutableString *queryString = [[NSMutableString alloc ] initWithString: @" ?" ];
306285
307286 for (NSString *key in [dictionary allKeys ]) {
308- // No empty keys, please.
309287 if (key.length ) {
310288 id obj = dictionary[key];
311289 NSString *value;
312290
313291 if ([obj isKindOfClass: [NSString class ]]) {
314292 value = [BNCEncodingUtils urlEncodedString: obj];
315- }
316- else if ([obj isKindOfClass: [NSURL class ]]) {
293+ } else if ([obj isKindOfClass: [NSURL class ]]) {
317294 value = [BNCEncodingUtils urlEncodedString: [obj absoluteString ]];
318- }
319- else if ([obj isKindOfClass: [NSDate class ]]) {
295+ } else if ([obj isKindOfClass: [NSDate class ]]) {
320296 value = [BNCEncodingUtils iso8601StringFromDate: obj];
321- }
322- else if ([obj isKindOfClass: [NSNumber class ]]) {
297+ } else if ([obj isKindOfClass: [NSNumber class ]]) {
323298 value = [obj stringValue ];
324- }
325- else {
326- // If this type is not a known type, don't attempt to encode it.
327- [[BranchLogger shared ] logError: [NSString stringWithFormat: @" Cannot encode value %@ . The value is not an accepted type." , obj] error: nil ];
299+ } else {
300+ [[BranchLogger shared ] logWarning: [NSString stringWithFormat: @" Ignoring unexpected value type %@ " , [obj class ]] error: nil ];
328301 continue ;
329302 }
330303
@@ -334,29 +307,25 @@ + (NSString *)encodeDictionaryToQueryString:(NSDictionary *)dictionary {
334307
335308 // Delete last character (either trailing & or ? if no params present)
336309 [queryString deleteCharactersInRange: NSMakeRange (queryString.length - 1 , 1 )];
337-
338310 return queryString;
339311}
340312
341- + (NSString *) stringByPercentDecodingString : (NSString *)string {
313+ + (NSString *) stringByPercentDecodingString : (NSString *)string {
342314 return [string stringByRemovingPercentEncoding ];
343315}
344316
345- + (NSString *) stringByPercentEncodingStringForQuery : (NSString *)string {
346- return [string stringByAddingPercentEncodingWithAllowedCharacters:
347- [NSCharacterSet URLQueryAllowedCharacterSet ]];
317+ + (NSString *)stringByPercentEncodingStringForQuery : (NSString *)string {
318+ return [string stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLQueryAllowedCharacterSet ]];
348319}
349320
350321#pragma mark - Param Decoding Methods
351322
352323+ (NSDictionary *)decodeJsonDataToDictionary : (NSData *)jsonData {
353324 NSString *jsonString = [[NSString alloc ] initWithData: jsonData encoding: NSUTF8StringEncoding];
354-
355325 return [BNCEncodingUtils decodeJsonStringToDictionary: jsonString];
356326}
357327
358328+ (NSDictionary *)decodeJsonStringToDictionary : (NSString *)jsonString {
359- // Just a basic decode, easy enough
360329 NSData *tempData = [jsonString dataUsingEncoding: NSUTF8StringEncoding];
361330 if (!tempData) {
362331 return @{};
@@ -379,7 +348,6 @@ + (NSDictionary *)decodeJsonStringToDictionary:(NSString *)jsonString {
379348 return base64DecodedDictionary;
380349 }
381350
382- // Apparently this data was not parsible into a dictionary, so we'll just return an empty one
383351 return @{};
384352}
385353
@@ -393,27 +361,29 @@ + (NSDictionary *)decodeQueryStringToDictionary:(NSString *)queryString {
393361 NSString *key = kv[0 ];
394362 NSString *val = [kv[1 ] stringByRemovingPercentEncoding ];
395363
396- // Don't add empty items
397364 if (val.length ) {
398365 params[key] = val;
399366 }
400367 }
401368 }
402-
403369 return params;
404370}
405371
406372#pragma mark - Hex Strings
407373
408- + (NSString *) hexStringFromData : (NSData *)data {
409-
374+ + (NSString *)hexStringFromData : (NSData *)data {
410375 NSUInteger bytesCount = data.length ;
411- if (bytesCount <= 0 ) return @" " ;
412-
376+ if (bytesCount <= 0 ) {
377+ return @" " ;
378+ }
379+
413380 const char *hexChars = " 0123456789ABCDEF" ;
414381 const char *dataBuffer = data.bytes ;
415382 char *chars = malloc (sizeof (char ) * (bytesCount * 2 + 1 ));
416- if (!chars) return @" " ;
383+ if (!chars) {
384+ return @" " ;
385+ }
386+
417387 char *s = chars;
418388 for (unsigned i = 0 ; i < bytesCount; ++i) {
419389 *s++ = hexChars[((*dataBuffer & 0xF0 ) >> 4 )];
@@ -423,35 +393,39 @@ + (NSString *) hexStringFromData:(NSData*)data {
423393 *s = ' \0 ' ;
424394
425395 NSString *hexString = [NSString stringWithUTF8String: chars];
426- if (chars) free (chars);
396+ if (chars) {
397+ free (chars);
398+ }
399+
427400 return hexString;
428401}
429402
430- + (NSData *) dataFromHexString : (NSString *)string {
431- if (!string) return nil ;
432-
403+ + (NSData *)dataFromHexString : (NSString *)string {
404+ if (!string) {
405+ return nil ;
406+ }
407+
433408 NSData *data = nil ;
434409 NSData *inputData = [string dataUsingEncoding: NSUTF8StringEncoding];
435410
436411 size_t length = (inputData.length +1 )/2 ;
437412 uint8_t *bytes = malloc (length);
438413 uint8_t *b = bytes;
439- if (!bytes) goto exit;
440-
414+ if (!bytes) {
415+ goto exit;
416+ }
417+
441418 int highValue = -1 ;
442419 const uint8_t *p = (const uint8_t *) [inputData bytes ];
443420 for (NSUInteger i = 0 ; i < inputData.length ; ++i) {
444421 int value;
445- if (*p >= ' 0' && *p <= ' 9' )
422+ if (*p >= ' 0' && *p <= ' 9' ) {
446423 value = *p - ' 0' ;
447- else
448- if (*p >= ' A' && *p <= ' F' )
424+ } else if (*p >= ' A' && *p <= ' F' ) {
449425 value = *p - ' A' + 10 ;
450- else
451- if (*p >= ' a' && *p <= ' f' )
426+ } else if (*p >= ' a' && *p <= ' f' ) {
452427 value = *p - ' a' + 10 ;
453- else
454- if (isspace (*p)) {
428+ } else if (isspace (*p)) {
455429 p++;
456430 continue ;
457431 } else {
@@ -468,8 +442,9 @@ + (NSData *) dataFromHexString:(NSString*)string {
468442 }
469443
470444 // If highValue != -1 then we got an odd number of hex values, which is an error.
471- if (highValue == -1 )
445+ if (highValue == -1 ) {
472446 data = [NSData dataWithBytes: bytes length: b-bytes];
447+ }
473448
474449exit:
475450 if (bytes) {
@@ -480,23 +455,27 @@ + (NSData *) dataFromHexString:(NSString*)string {
480455
481456#pragma mark - URL QueryItems
482457
483- + (NSArray <BNCKeyValue*>*) queryItems : (NSURL *)URL {
484- NSMutableArray * keyValues = [NSMutableArray new ];
485- if (!URL) return keyValues;
486-
458+ + (NSArray <BNCKeyValue *> *)queryItems : (NSURL *)URL {
459+ NSMutableArray *keyValues = [NSMutableArray new ];
460+ if (!URL) {
461+ return keyValues;
462+ }
463+
487464 NSArray *queryItems = [[URL query ] componentsSeparatedByString: @" &" ];
488- for (NSString * itemPair in queryItems) {
465+ for (NSString * itemPair in queryItems) {
489466
490467 BNCKeyValue *keyValue = [BNCKeyValue new ];
491468 NSRange range = [itemPair rangeOfString: @" =" ];
492469 if (range.location == NSNotFound ) {
493- if (itemPair.length )
470+ if (itemPair.length ) {
494471 keyValue.key = itemPair;
472+ }
495473 } else {
496474 keyValue.key = [itemPair substringWithRange: NSMakeRange (0 , range.location)];
497475 NSRange r = NSMakeRange (range.location +1 , itemPair.length -range.location -1 );
498- if (r.length > 0 )
476+ if (r.length > 0 ) {
499477 keyValue.value = [itemPair substringWithRange: r];
478+ }
500479 }
501480
502481 keyValue.key = [BNCEncodingUtils stringByPercentDecodingString: keyValue.key];
@@ -506,8 +485,13 @@ + (NSData *) dataFromHexString:(NSString*)string {
506485 keyValue.value = [keyValue.value stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet ]];
507486
508487 if (keyValue.key .length || keyValue.value .length ) {
509- if (keyValue.key == nil ) keyValue.key = @" " ;
510- if (keyValue.value == nil ) keyValue.value = @" " ;
488+ if (keyValue.key == nil ) {
489+ keyValue.key = @" " ;
490+ }
491+
492+ if (keyValue.value == nil ) {
493+ keyValue.value = @" " ;
494+ }
511495 [keyValues addObject: keyValue];
512496 }
513497 }
0 commit comments