Enforce Content-Type and Content-Length consistency on requests

This commit is contained in:
Pierre-Olivier Latour
2014-04-03 18:30:28 -07:00
parent 7cd68b3d96
commit 8bebee94ec
+8 -4
View File
@@ -151,15 +151,19 @@ static NSStringEncoding _StringEncodingFromCharset(NSString* charset) {
_query = ARC_RETAIN(query); _query = ARC_RETAIN(query);
_type = ARC_RETAIN([_headers objectForKey:@"Content-Type"]); _type = ARC_RETAIN([_headers objectForKey:@"Content-Type"]);
NSInteger length = [[_headers objectForKey:@"Content-Length"] integerValue]; NSString* lengthHeader = [_headers objectForKey:@"Content-Length"];
if (length < 0) { if (_type) {
NSInteger length = [lengthHeader integerValue];
if ((lengthHeader == nil) || (length < 0)) {
DNOT_REACHED(); DNOT_REACHED();
ARC_RELEASE(self); ARC_RELEASE(self);
return nil; return nil;
} }
_length = length; _length = length;
if ((_length > 0) && (_type == nil)) { } else if (lengthHeader) {
_type = [kGCDWebServerDefaultMimeType copy]; DNOT_REACHED();
ARC_RELEASE(self);
return nil;
} }
_range = NSMakeRange(NSNotFound, 0); _range = NSMakeRange(NSNotFound, 0);