Stop ASIHTTPRequest subclasses from recreating statics on initialize and leaking in the process
Thanks to René Post for this fix!
Showing
1 changed file
with
8 additions
and
7 deletions
| @@ -45,13 +45,14 @@ static NSError *ASIUnableToCreateRequestError; | @@ -45,13 +45,14 @@ static NSError *ASIUnableToCreateRequestError; | ||
| 45 | 45 | ||
| 46 | + (void)initialize | 46 | + (void)initialize |
| 47 | { | 47 | { |
| 48 | - progressLock = [[NSRecursiveLock alloc] init]; | 48 | + if (self == [ASIHTTPRequest class]) { |
| 49 | - | 49 | + progressLock = [[NSRecursiveLock alloc] init]; |
| 50 | - ASIRequestTimedOutError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIRequestTimedOutErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"The request timed out",NSLocalizedDescriptionKey,nil]] retain]; | 50 | + ASIRequestTimedOutError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIRequestTimedOutErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"The request timed out",NSLocalizedDescriptionKey,nil]] retain]; |
| 51 | - ASIAuthenticationError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIAuthenticationErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"Authentication needed",NSLocalizedDescriptionKey,nil]] retain]; | 51 | + ASIAuthenticationError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIAuthenticationErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"Authentication needed",NSLocalizedDescriptionKey,nil]] retain]; |
| 52 | - ASIRequestCancelledError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIRequestCancelledErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"The request was cancelled",NSLocalizedDescriptionKey,nil]] retain]; | 52 | + ASIRequestCancelledError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIRequestCancelledErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"The request was cancelled",NSLocalizedDescriptionKey,nil]] retain]; |
| 53 | - ASIUnableToCreateRequestError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIUnableToCreateRequestErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"Unable to create request (bad url?)",NSLocalizedDescriptionKey,nil]] retain]; | 53 | + ASIUnableToCreateRequestError = [[NSError errorWithDomain:NetworkRequestErrorDomain code:ASIUnableToCreateRequestErrorType userInfo:[NSDictionary dictionaryWithObjectsAndKeys:@"Unable to create request (bad url?)",NSLocalizedDescriptionKey,nil]] retain]; |
| 54 | - | 54 | + } |
| 55 | + [super initialize]; | ||
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | - (id)initWithURL:(NSURL *)newURL | 58 | - (id)initWithURL:(NSURL *)newURL |
-
Please register or login to post a comment