Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Restkit .20 request timeout interval

Trying to set a request Timeout Interval on Restkit.

This post mentions HTTClient, but HTTPClient does NOT seem to have a way to set a timeout interval. Request timeout in restkit 0.20.0

Does anyone know how to set an interval?

like image 601
jdog Avatar asked Jun 02 '13 17:06

jdog


2 Answers

There isn't direct access to it. You should really ask why you want to set a custom timeout.

If you do need to change it, you should subclass RKObjectManager and override requestWithObject:. Your implementation can just call super and then edit the resulting mutable request.

like image 170
Wain Avatar answered Nov 11 '22 18:11

Wain


The following worked for me in RestKit 0.20.3: I construct the NSMutableRequest myself and set the timeout on this request. Unfortunately there is no way to set the default request timeout in RestKit 0.20.x due to AFNetworking's policy to not expose this property.

NSMutableURLRequest *request = [objectManager requestWithObject:nil method:RKRequestMethodGET path:@"test.json" parameters:nil];

[request setTimeoutInterval:300]; // set the timeout for this request to 5 minutes

RKManagedObjectRequestOperation *op = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request managedObjectContext:[[[RKObjectManager sharedManager] managedObjectStore] mainQueueManagedObjectContext] success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    NSLog(@"Success, %d results loaded", [mappingResult count]);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
    NSLog(@"Fail");
}];

[[RKObjectManager sharedManager] enqueueObjectRequestOperation:op];
like image 9
masam Avatar answered Nov 11 '22 17:11

masam