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