mirror of
https://github.com/swisspol/GCDWebServer.git
synced 2026-04-24 00:00:04 +08:00
Enforce Content-Type and Content-Length consistency on requests
This commit is contained in:
@@ -151,16 +151,20 @@ static NSStringEncoding _StringEncodingFromCharset(NSString* charset) {
|
||||
_query = ARC_RETAIN(query);
|
||||
|
||||
_type = ARC_RETAIN([_headers objectForKey:@"Content-Type"]);
|
||||
NSInteger length = [[_headers objectForKey:@"Content-Length"] integerValue];
|
||||
if (length < 0) {
|
||||
NSString* lengthHeader = [_headers objectForKey:@"Content-Length"];
|
||||
if (_type) {
|
||||
NSInteger length = [lengthHeader integerValue];
|
||||
if ((lengthHeader == nil) || (length < 0)) {
|
||||
DNOT_REACHED();
|
||||
ARC_RELEASE(self);
|
||||
return nil;
|
||||
}
|
||||
_length = length;
|
||||
} else if (lengthHeader) {
|
||||
DNOT_REACHED();
|
||||
ARC_RELEASE(self);
|
||||
return nil;
|
||||
}
|
||||
_length = length;
|
||||
if ((_length > 0) && (_type == nil)) {
|
||||
_type = [kGCDWebServerDefaultMimeType copy];
|
||||
}
|
||||
|
||||
_range = NSMakeRange(NSNotFound, 0);
|
||||
NSString* rangeHeader = [[_headers objectForKey:@"Range"] lowercaseString];
|
||||
|
||||
Reference in New Issue
Block a user