Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.

Commit 8ebd25d

Browse files
committed
Merge commit 'e0e4f621048f6f4b16c67b3f9ca525152d23e4bd' into develop
2 parents f7d0e6b + e0e4f62 commit 8ebd25d

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

SocketIO.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,12 @@ typedef enum {
102102
- (id) initWithDelegate:(id<SocketIODelegate>)delegate;
103103
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port;
104104
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params;
105+
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withCookieParams:(NSDictionary *)cookieParams;
105106
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withNamespace:(NSString *)endpoint;
107+
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withCookieParams:(NSDictionary *)cookieParams withNamespace:(NSString *)endpoint;
106108
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withNamespace:(NSString *)endpoint withConnectionTimeout: (NSTimeInterval) connectionTimeout;
109+
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withCookieParams:(NSDictionary *)cookieParams withNamespace:(NSString *)endpoint withConnectionTimeout: (NSTimeInterval) connectionTimeout;
110+
107111

108112
- (void) disconnect;
109113
- (void) disconnectForced;

SocketIO.m

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ - (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDic
106106
[self connectToHost:host onPort:port withParams:params withNamespace:@"" withConnectionTimeout:defaultConnectionTimeout];
107107
}
108108

109+
- (void) connectToHost:(NSString *)host onPort:(NSInteger)port withParams:(NSDictionary *)params withCookieParams:(NSDictionary *)cookieParams
110+
{
111+
[self connectToHost:host onPort:port withParams:params withCookieParams:cookieParams withNamespace:@"" withConnectionTimeout:defaultConnectionTimeout];
112+
}
113+
109114
- (void) connectToHost:(NSString *)host
110115
onPort:(NSInteger)port
111116
withParams:(NSDictionary *)params
@@ -114,11 +119,30 @@ - (void) connectToHost:(NSString *)host
114119
[self connectToHost:host onPort:port withParams:params withNamespace:endpoint withConnectionTimeout:defaultConnectionTimeout];
115120
}
116121

122+
- (void) connectToHost:(NSString *)host
123+
onPort:(NSInteger)port
124+
withParams:(NSDictionary *)params
125+
withCookieParams:(NSDictionary *)cookieParams
126+
withNamespace:(NSString *)endpoint
127+
{
128+
[self connectToHost:host onPort:port withParams:params withCookieParams:cookieParams withNamespace:endpoint withConnectionTimeout:defaultConnectionTimeout];
129+
}
130+
117131
- (void) connectToHost:(NSString *)host
118132
onPort:(NSInteger)port
119133
withParams:(NSDictionary *)params
120134
withNamespace:(NSString *)endpoint
121135
withConnectionTimeout:(NSTimeInterval)connectionTimeout
136+
{
137+
[self connectToHost:host onPort:port withParams:params withCookieParams:nil withNamespace:endpoint withConnectionTimeout:defaultConnectionTimeout];
138+
}
139+
140+
- (void) connectToHost:(NSString *)host
141+
onPort:(NSInteger)port
142+
withParams:(NSDictionary *)params
143+
withCookieParams:(NSDictionary *)cookieParams
144+
withNamespace:(NSString *)endpoint
145+
withConnectionTimeout:(NSTimeInterval)connectionTimeout
122146
{
123147
if (!_isConnected && !_isConnecting) {
124148
_isConnecting = YES;
@@ -144,10 +168,19 @@ - (void) connectToHost:(NSString *)host
144168
query = nil;
145169

146170
// make a request
147-
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:handshakeUrl]
171+
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:handshakeUrl]
148172
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
149173
timeoutInterval:connectionTimeout];
150174

175+
if (cookieParams) {
176+
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieParams];
177+
NSArray* cookieArray = [NSArray arrayWithObjects: cookie, nil];
178+
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookieArray];
179+
[request setAllHTTPHeaderFields:headers];
180+
}
181+
182+
[request setHTTPShouldHandleCookies:YES];
183+
151184
_handshake = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
152185
[_handshake scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
153186
[_handshake start];

0 commit comments

Comments
 (0)