-
Notifications
You must be signed in to change notification settings - Fork 72
/
NSURL+Connection.m
51 lines (37 loc) · 1.09 KB
/
NSURL+Connection.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//
// NSURL+Connection.m
// Connection
//
// Created by Mike on 05/12/2008.
// Copyright 2008 Karelia Software. All rights reserved.
//
#import "NSURL+Connection.h"
#import "NSString+Connection.h"
@implementation NSURL (ConnectionKitAdditions)
- (id)initWithScheme:(NSString *)scheme
host:(NSString *)host
port:(NSNumber *)port
user:(NSString *)username
password:(NSString *)password
{
NSParameterAssert(scheme);
NSMutableString *buffer = [[NSMutableString alloc] initWithFormat:@"%@://", scheme];
if (username && ![username isEqualToString:@""])
{
[buffer appendString:[username encodeLegally]];
if (password && ![password isEqualToString:@""])
{
[buffer appendFormat:@":%@", [password encodeLegally]];
}
[buffer appendString:@"@"];
}
if (host) [buffer appendString:host];
if (port)
{
[buffer appendFormat:@":%i", [port intValue]];
}
self = [self initWithString:buffer];
[buffer release];
return self;
}
@end