From 7aa4e07c66ad644484e28f5af6d1016a6c8df095 Mon Sep 17 00:00:00 2001 From: James Burka Date: Wed, 18 Feb 2009 19:16:35 -0500 Subject: [PATCH] [#42] cleaned up url , changed Dog tests to use no user --- Classes/DogTest.m | 3 ++- Classes/lib/Connection.m | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Classes/DogTest.m b/Classes/DogTest.m index a9f559a..d8a1233 100644 --- a/Classes/DogTest.m +++ b/Classes/DogTest.m @@ -20,7 +20,8 @@ -(void) setUp { [ObjectiveResourceConfig setSite:@"http://localhost:36313/"]; [ObjectiveResourceConfig setResponseType:JSONResponse]; //[ObjectiveResource setResponseType:XmlResponse]; - + [ObjectiveResourceConfig setUser:nil]; + [ObjectiveResourceConfig setPassword:nil]; owner = [Person findRemote:[NSString stringWithFormat:@"%i",DOG_OWNER]]; } diff --git a/Classes/lib/Connection.m b/Classes/lib/Connection.m index fc07c90..6b1f0df 100644 --- a/Classes/lib/Connection.m +++ b/Classes/lib/Connection.m @@ -49,14 +49,14 @@ + (Response *)sendRequest:(NSMutableURLRequest *)request withUser:(NSString *)us //lots of servers fail to implement http basic authentication correctly, so we pass the credentials even if they are not asked for //TODO make this configurable? - NSString *authString = [[[NSString stringWithFormat:@"%@:%@",user, password] dataUsingEncoding:NSUTF8StringEncoding] base64Encoding]; - [request addValue:[NSString stringWithFormat:@"Basic %@", authString] forHTTPHeaderField:@"Authorization"]; - NSString *escapedUser = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, - (CFStringRef)user, NULL, (CFStringRef)@"@.:", kCFStringEncodingUTF8); - NSString *escapedPassword = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, - (CFStringRef)password, NULL, (CFStringRef)@"@.:", kCFStringEncodingUTF8); NSURL *url = [request URL]; - if(escapedUser && escapedPassword) { + if(user && password) { + NSString *authString = [[[NSString stringWithFormat:@"%@:%@",user, password] dataUsingEncoding:NSUTF8StringEncoding] base64Encoding]; + [request addValue:[NSString stringWithFormat:@"Basic %@", authString] forHTTPHeaderField:@"Authorization"]; + NSString *escapedUser = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, + (CFStringRef)user, NULL, (CFStringRef)@"@.:", kCFStringEncodingUTF8); + NSString *escapedPassword = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, + (CFStringRef)password, NULL, (CFStringRef)@"@.:", kCFStringEncodingUTF8); NSMutableString *urlString = [NSMutableString stringWithFormat:@"%@://%@:%@@%@",[url scheme],escapedUser,escapedPassword,[url host],nil]; if([url port]) { [urlString appendFormat:@":%@",[url port],nil]; @@ -66,6 +66,8 @@ + (Response *)sendRequest:(NSMutableURLRequest *)request withUser:(NSString *)us [urlString appendFormat:@"?%@",[url query],nil]; } [request setURL:url]; + [escapedUser release]; + [escapedPassword release]; } @@ -90,8 +92,6 @@ + (Response *)sendRequest:(NSMutableURLRequest *)request withUser:(NSString *)us andError:connectionDelegate.error]; [resp log]; - [escapedUser release]; - [escapedPassword release]; [activeDelegates removeObject:connectionDelegate]; //if there are no more active delegates release the array