@@ -26,36 +26,36 @@ #import "OFInvalidFormatException.h" static void handleAttribute(OFHTTPCookie *cookie, OFString *name, OFString *value) { - OFString *lowercaseName = [name lowercaseString]; + OFString *lowercaseName = name.lowercaseString; if (value != nil) { if ([lowercaseName isEqual: @"expires"]) { OFDate *date = [OFDate dateWithDateString: value format: @"%a, %d %b %Y %H:%M:%S %z"]; - [cookie setExpires: date]; + cookie.expires = date; } else if ([lowercaseName isEqual: @"max-age"]) { OFDate *date = [OFDate dateWithTimeIntervalSinceNow: - [value decimalValue]]; - [cookie setExpires: date]; + value.decimalValue]; + cookie.expires = date; } else if ([lowercaseName isEqual: @"domain"]) - [cookie setDomain: value]; + cookie.domain = value; else if ([lowercaseName isEqual: @"path"]) - [cookie setPath: value]; + cookie.path = value; else - [[cookie extensions] addObject: + [cookie.extensions addObject: [OFString stringWithFormat: @"%@=%@", name, value]]; } else { if ([lowercaseName isEqual: @"secure"]) - [cookie setSecure: true]; + cookie.secure = true; else if ([lowercaseName isEqual: @"httponly"]) - [cookie setHTTPOnly: true]; - else if ([name length] > 0) - [[cookie extensions] addObject: name]; + cookie.HTTPOnly = true; + else if (name.length > 0) + [cookie.extensions addObject: name]; } } @implementation OFHTTPCookie @synthesize name = _name, value = _value, domain = _domain, path = _path; @@ -67,13 +67,13 @@ forURL: (OFURL *)URL { OFMutableArray OF_GENERIC(OFHTTPCookie *) *ret = [OFMutableArray array]; void *pool = objc_autoreleasePoolPush(); OFString *string = [headerFields objectForKey: @"Set-Cookie"]; - OFString *domain = [URL host]; - const of_unichar_t *characters = [string characters]; - size_t length = [string length], last = 0; + OFString *domain = URL.host; + const of_unichar_t *characters = string.characters; + size_t length = string.length, last = 0; enum { STATE_PRE_NAME, STATE_NAME, STATE_EXPECT_VALUE, STATE_VALUE, @@ -164,11 +164,11 @@ } else if (characters[i] == ';' || characters[i] == ',') { name = [string substringWithRange: of_range(last, i - last)]; - handleAttribute([ret lastObject], name, nil); + handleAttribute(ret.lastObject, name, nil); state = (characters[i] == ';' ? STATE_PRE_ATTR_NAME : STATE_PRE_NAME); } @@ -185,21 +185,21 @@ * meaning RFC 6265 contradicts RFC 2616. * Solve this by special casing this. */ if (characters[i] == ',' && [name caseInsensitiveCompare: @"expires"] == - OF_ORDERED_SAME && [value length] == 3 && + OF_ORDERED_SAME && value.length == 3 && ([value isEqual: @"Mon"] || [value isEqual: @"Tue"] || [value isEqual: @"Wed"] || [value isEqual: @"Thu"] || [value isEqual: @"Fri"] || [value isEqual: @"Sat"] || [value isEqual: @"Sun"])) break; - handleAttribute([ret lastObject], name, value); + handleAttribute(ret.lastObject, name, value); state = (characters[i] == ';' ? STATE_PRE_ATTR_NAME : STATE_PRE_NAME); } break; @@ -231,18 +231,18 @@ case STATE_ATTR_NAME: if (last != length) { name = [string substringWithRange: of_range(last, length - last)]; - handleAttribute([ret lastObject], name, nil); + handleAttribute(ret.lastObject, name, nil); } break; case STATE_ATTR_VALUE: value = [string substringWithRange: of_range(last, length - last)]; - handleAttribute([ret lastObject], name, value); + handleAttribute(ret.lastObject, name, value); break; } objc_autoreleasePoolPop(pool); @@ -256,11 +256,11 @@ OFDictionary OF_GENERIC(OFString *, OFString *) *ret; void *pool; OFMutableString *cookieString; bool first = true; - if ([cookies count] == 0) + if (cookies.count == 0) return [OFDictionary dictionary]; pool = objc_autoreleasePoolPush(); cookieString = [OFMutableString string]; @@ -268,13 +268,13 @@ if OF_UNLIKELY (first) first = false; else [cookieString appendString: @"; "]; - [cookieString appendString: [cookie name]]; + [cookieString appendString: cookie.name]; [cookieString appendString: @"="]; - [cookieString appendString: [cookie value]]; + [cookieString appendString: cookie.value]; } ret = [[OFDictionary alloc] initWithObject: cookieString forKey: @"Cookie"]; @@ -366,18 +366,18 @@ - (uint32_t)hash { uint32_t hash; OF_HASH_INIT(hash); - OF_HASH_ADD_HASH(hash, [_name hash]); - OF_HASH_ADD_HASH(hash, [_value hash]); - OF_HASH_ADD_HASH(hash, [_domain hash]); - OF_HASH_ADD_HASH(hash, [_path hash]); - OF_HASH_ADD_HASH(hash, [_expires hash]); + OF_HASH_ADD_HASH(hash, _name.hash); + OF_HASH_ADD_HASH(hash, _value.hash); + OF_HASH_ADD_HASH(hash, _domain.hash); + OF_HASH_ADD_HASH(hash, _path.hash); + OF_HASH_ADD_HASH(hash, _expires.hash); OF_HASH_ADD(hash, _secure); OF_HASH_ADD(hash, _HTTPOnly); - OF_HASH_ADD_HASH(hash, [_extensions hash]); + OF_HASH_ADD_HASH(hash, _extensions.hash); OF_HASH_FINALIZE(hash); return hash; } @@ -418,11 +418,11 @@ [ret appendString: @"; Secure"]; if (_HTTPOnly) [ret appendString: @"; HTTPOnly"]; - if ([_extensions count] > 0) + if (_extensions.count > 0) [ret appendFormat: @"; %@", [_extensions componentsJoinedByString: @"; "]]; objc_autoreleasePoolPop(pool);