I have used URLRequest to fetch a html file from a pc in my wifi network. My app fetches a html file from my fileserver and the filename is a number which is typed in the app. Also I have given a 20 seconds timeout for the request. How can I detect whether timeout occurred because I have 2 situations, 1. file does not exist 2. connection is slow
In urlrequest, there is a BOOL for error,no description. Suggest me a method if possible. My code is below for only urlrequest
-(void)getHtmlContent{
[self.spinner startAnimating];
NSString *str = @"http://192.168.1.250/rec/";
//        NSString *str = @"file:///Volumes/xampp/htdocs/";
str = [str stringByAppendingString:numEntered.text];
str = [str stringByAppendingString:@".html"];
NSURL *url=[NSURL URLWithString:str];
//self.htmlContent = nil;
NSMutableURLRequest *request = [NSMutableURLRequest             requestWithURL:url];
    //NSURLRequest *request = [NSURLRequest requestWithURL:url];
    request.timeoutInterval = 20.0;
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
    NSURLSessionDownloadTask *task = [session downloadTaskWithRequest:request completionHandler:^(NSURL *localfile, NSURLResponse *response, NSError *error) {
        if(!error){
            if([request.URL isEqual:url]){
                NSString *content = [NSString stringWithContentsOfURL:localfile encoding: NSUTF8StringEncoding error:&error];
                dispatch_async(dispatch_get_main_queue(), ^{
                    [numEntered setText:@"0"];
                    text = @"";
                    [self.spinner stopAnimating];
                    self.htmlContent = content;
                    NSString *myHTMLString = self.htmlContent;
                    if(myHTMLString != nil) {
                        if([myHTMLString isEqualToString:@"3"]){
                            UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"LogIn Success" message:@"" delegate:self cancelButtonTitle:@"Continue" otherButtonTitles:nil];
                            self.view.userInteractionEnabled = YES;
                            [alrt show];
                        }
                        else{
                            UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"LogIn Failed. Try again." message:@"User not authenticated" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                            self.view.userInteractionEnabled = YES;
                            [alrt show];
                        }
                    }
                });
            }
        }
        else {
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.spinner stopAnimating];
                [numEntered setText:@"0"];
                text = @"";
                UIAlertView *alrt = [[UIAlertView alloc]   initWithTitle:@"Requested file does not exist." message:@"Try again." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
                self.view.userInteractionEnabled = YES;
                [alrt show];
            });
        }
    }];
    [task resume];
}