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