Ben Copsey

Fix problem where queue delegate would not be alerted when the request received response headers

Add test for same
... ... @@ -23,7 +23,7 @@
// Automatically set on build
NSString *ASIHTTPRequestVersion = @"v1.6.2-4 2010-04-19";
NSString *ASIHTTPRequestVersion = @"v1.6.2-7 2010-05-01";
NSString* const NetworkRequestErrorDomain = @"ASIHTTPRequestErrorDomain";
... ...
... ... @@ -201,7 +201,7 @@
}
}
- (void)requestDidReceiveResponseHeaders:(ASIHTTPRequest *)request
- (void)requestReceivedResponseHeaders:(ASIHTTPRequest *)request
{
if ([self requestDidReceiveResponseHeadersSelector]) {
[[self delegate] performSelector:[self requestDidReceiveResponseHeadersSelector] withObject:request];
... ...
... ... @@ -48,6 +48,7 @@ IMPORTANT
BOOL finished;
BOOL failed;
BOOL headFailed;
BOOL receivedResponseHeaders;
int queueFinishedCallCount;
}
... ...
... ... @@ -63,6 +63,7 @@ IMPORTANT
[networkQueue setDelegate:self];
[networkQueue setRequestDidStartSelector:@selector(delegateTestStarted:)];
[networkQueue setRequestDidFinishSelector:@selector(delegateTestFinished:)];
[networkQueue setRequestDidReceiveResponseHeadersSelector:@selector(delegateTestResponseHeaders:)];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com"]];
[networkQueue addOperation:request];
... ... @@ -70,7 +71,10 @@ IMPORTANT
[networkQueue waitUntilAllOperationsAreFinished];
GHAssertTrue(started,@"Failed to call the delegate method when the request started");
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
GHAssertTrue(started,@"Failed to call the delegate method when the request started");
GHAssertTrue(receivedResponseHeaders,@"Failed to call the delegate method when the request received response headers");
GHAssertTrue(finished,@"Failed to call the delegate method when the request finished");
networkQueue = [ASINetworkQueue queue];
... ... @@ -83,6 +87,8 @@ IMPORTANT
[networkQueue go];
[networkQueue waitUntilAllOperationsAreFinished];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
GHAssertTrue(failed,@"Failed to call the delegate method when the request failed");
... ... @@ -93,6 +99,12 @@ IMPORTANT
started = YES;
}
- (void)delegateTestResponseHeaders:(ASIHTTPRequest *)request
{
GHAssertNotNil([request responseHeaders],@"Called delegateTestResponseHeaders: when we have no headers");
receivedResponseHeaders = YES;
}
- (void)delegateTestFinished:(ASIHTTPRequest *)request
{
finished = YES;
... ...