Merge branch 'master' of github.com:AFNetworking/AFNetworking
This commit is contained in:
commit
e54ffdc33e
2 changed files with 19 additions and 6 deletions
|
|
@ -693,7 +693,7 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
self.stringEncoding = [aDecoder decodeIntegerForKey:@"stringEncoding"];
|
self.stringEncoding = [aDecoder decodeIntegerForKey:@"stringEncoding"];
|
||||||
self.parameterEncoding = [aDecoder decodeIntegerForKey:@"parameterEncoding"];
|
self.parameterEncoding = (AFHTTPClientParameterEncoding) [aDecoder decodeIntegerForKey:@"parameterEncoding"];
|
||||||
self.registeredHTTPOperationClassNames = [aDecoder decodeObjectForKey:@"registeredHTTPOperationClassNames"];
|
self.registeredHTTPOperationClassNames = [aDecoder decodeObjectForKey:@"registeredHTTPOperationClassNames"];
|
||||||
self.defaultHeaders = [aDecoder decodeObjectForKey:@"defaultHeaders"];
|
self.defaultHeaders = [aDecoder decodeObjectForKey:@"defaultHeaders"];
|
||||||
|
|
||||||
|
|
@ -1072,7 +1072,7 @@ static const NSUInteger AFMultipartBodyStreamProviderDefaultBufferLength = 4096;
|
||||||
- (void)handleOutputStreamSpaceAvailable {
|
- (void)handleOutputStreamSpaceAvailable {
|
||||||
while ([_outputStream hasSpaceAvailable]) {
|
while ([_outputStream hasSpaceAvailable]) {
|
||||||
if ([_buffer length] > 0) {
|
if ([_buffer length] > 0) {
|
||||||
NSInteger numberOfBytesWritten = [_outputStream write:[_buffer bytes] maxLength:[_buffer length]];
|
NSInteger numberOfBytesWritten = [_outputStream write:(uint8_t const *)[_buffer bytes] maxLength:[_buffer length]];
|
||||||
if (numberOfBytesWritten < 0) {
|
if (numberOfBytesWritten < 0) {
|
||||||
[self close];
|
[self close];
|
||||||
return;
|
return;
|
||||||
|
|
@ -1094,7 +1094,7 @@ static const NSUInteger AFMultipartBodyStreamProviderDefaultBufferLength = 4096;
|
||||||
|
|
||||||
[_buffer setLength:self.bufferLength];
|
[_buffer setLength:self.bufferLength];
|
||||||
|
|
||||||
NSInteger numberOfBytesRead = [self.currentHTTPBodyPart read:[_buffer mutableBytes] maxLength:[_buffer length]];
|
NSInteger numberOfBytesRead = [self.currentHTTPBodyPart read:(uint8_t *)[_buffer mutableBytes] maxLength:[_buffer length]];
|
||||||
if (numberOfBytesRead < 0) {
|
if (numberOfBytesRead < 0) {
|
||||||
[self close];
|
[self close];
|
||||||
return;
|
return;
|
||||||
|
|
@ -1114,8 +1114,21 @@ static const NSUInteger AFMultipartBodyStreamProviderDefaultBufferLength = 4096;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)close {
|
- (void)close {
|
||||||
[_outputStream close];
|
NSOutputStream *outputStream = self.outputStream;
|
||||||
_outputStream.delegate = nil;
|
|
||||||
|
[outputStream close];
|
||||||
|
outputStream.delegate = nil;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Workaround for a race condition in CFStream _CFStreamCopyRunLoopsAndModes. This outputstream needs to be retained just a little longer.
|
||||||
|
|
||||||
|
See: https://github.com/AFNetworking/AFNetworking/issues/907
|
||||||
|
*/
|
||||||
|
double delayInSeconds = 2.0;
|
||||||
|
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
|
||||||
|
dispatch_after(popTime, dispatch_get_main_queue(), ^{
|
||||||
|
outputStream.delegate = nil;
|
||||||
|
});
|
||||||
|
|
||||||
_self = nil;
|
_self = nil;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ static dispatch_queue_t json_request_operation_processing_queue() {
|
||||||
dispatch_async(json_request_operation_processing_queue(), ^{
|
dispatch_async(json_request_operation_processing_queue(), ^{
|
||||||
id JSON = self.responseJSON;
|
id JSON = self.responseJSON;
|
||||||
|
|
||||||
if (self.JSONError) {
|
if (self.error) {
|
||||||
if (failure) {
|
if (failure) {
|
||||||
dispatch_async(self.failureCallbackQueue ?: dispatch_get_main_queue(), ^{
|
dispatch_async(self.failureCallbackQueue ?: dispatch_get_main_queue(), ^{
|
||||||
failure(self, self.error);
|
failure(self, self.error);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue