parent
2645c4d66f
commit
e3b50a4b37
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
||||
//
|
||||
// WRTRequest.h
|
||||
// DDWRT-Monitor
|
||||
//
|
||||
// Created by Matthieu Lalonde on 11-05-29.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
@interface WRTRequest : NSObject {
|
||||
BOOL wrtReachable;
|
||||
@private
|
||||
NSString *username;
|
||||
NSString *password;
|
||||
NSMutableData *receivedData;
|
||||
NSURLRequest *theRequest;
|
||||
NSURLConnection *theConnection;
|
||||
id delegate;
|
||||
SEL callback;
|
||||
SEL errorCallback;
|
||||
}
|
||||
|
||||
@property(nonatomic, retain) NSString *username;
|
||||
@property(nonatomic, retain) NSString *password;
|
||||
@property(nonatomic, retain) NSMutableData *receivedData;
|
||||
@property(nonatomic, retain) id delegate;
|
||||
@property(nonatomic) SEL callback;
|
||||
@property(nonatomic) SEL errorCallback;
|
||||
|
||||
-(void)doRequest:(id)requestDelegate requestSelector:(SEL)requestSelector uri:(NSString *)uri;
|
||||
-(void)request:(NSURL *) url;
|
||||
|
||||
@end
|
@ -1,127 +0,0 @@
|
||||
//
|
||||
// WRTRequest.m
|
||||
// DDWRT-Monitor
|
||||
//
|
||||
// Created by Matthieu Lalonde on 11-05-29.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
//
|
||||
|
||||
#import "WRTRequest.h"
|
||||
|
||||
|
||||
@implementation WRTRequest
|
||||
|
||||
@synthesize username;
|
||||
@synthesize password;
|
||||
@synthesize receivedData;
|
||||
@synthesize delegate;
|
||||
@synthesize callback;
|
||||
@synthesize errorCallback;
|
||||
|
||||
- (id)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
// Initialization code here.
|
||||
wrtReachable = false;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
-(void)doRequest:(id)requestDelegate requestSelector:(SEL)requestSelector uri:(NSString *)uri
|
||||
{
|
||||
self.delegate = requestDelegate;
|
||||
self.callback = requestSelector;
|
||||
|
||||
NSString *urlAddress = [NSString stringWithFormat:@"https://%@:%d/%@",
|
||||
[[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"],
|
||||
[[NSUserDefaults standardUserDefaults] integerForKey:@"port"],
|
||||
uri];
|
||||
|
||||
NSURL *url = [NSURL URLWithString:urlAddress];
|
||||
|
||||
[self request:url];
|
||||
}
|
||||
|
||||
-(void)request:(NSURL *) url
|
||||
{
|
||||
theRequest = [[NSMutableURLRequest alloc] initWithURL:url];
|
||||
theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
|
||||
|
||||
if (theConnection) {
|
||||
receivedData = [[NSMutableData data] retain];
|
||||
} else {
|
||||
// TODO return error
|
||||
}
|
||||
}
|
||||
|
||||
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||
{
|
||||
NSLog(@"1");
|
||||
if ([challenge previousFailureCount] == 0) {
|
||||
NSLog(@"1.1.1");
|
||||
NSURLCredential *newCredential;
|
||||
newCredential = [NSURLCredential credentialWithUser:@"user" password:@"password" persistence:NSURLCredentialPersistenceForSession];
|
||||
|
||||
NSLog(@"1.1.2");
|
||||
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
|
||||
} else {
|
||||
NSLog(@"1.2");
|
||||
[[challenge sender] cancelAuthenticationChallenge:challenge];
|
||||
// TODO Pop up authentication error
|
||||
NSLog(@"Invalid Username or Password");
|
||||
}
|
||||
}
|
||||
|
||||
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
|
||||
{
|
||||
NSLog(@"2");
|
||||
[receivedData setLength:0];
|
||||
}
|
||||
|
||||
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
|
||||
{
|
||||
NSLog(@"3");
|
||||
[receivedData appendData:data];
|
||||
}
|
||||
|
||||
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
|
||||
{
|
||||
NSLog(@"4");
|
||||
[connection release];
|
||||
[receivedData release];
|
||||
[theRequest release];
|
||||
|
||||
//TODO Return alert
|
||||
NSLog(@"Connection failed! Error - %@ %@", [error localizedDescription], [[error userInfo] objectForKey:NSErrorFailingURLStringKey]);
|
||||
|
||||
if (errorCallback) {
|
||||
[delegate performSelector:errorCallback withObject:error];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
|
||||
{
|
||||
NSLog(@"5");
|
||||
// TODO: Return the data
|
||||
if (delegate && callback) {
|
||||
if ([delegate respondsToSelector:self.callback]) {
|
||||
[delegate performSelector:self.callback withObject:receivedData];
|
||||
} else {
|
||||
// TODO: Return no data
|
||||
NSLog(@"No response data from delegate");
|
||||
}
|
||||
}
|
||||
|
||||
[theConnection release];
|
||||
[receivedData release];
|
||||
[theRequest release];
|
||||
}
|
||||
@end
|
Loading…
Reference in new issue