From c032ace244b7356d55e3a4bd1a9edd47f932568a Mon Sep 17 00:00:00 2001 From: Timothy Stonis Date: Sat, 7 Feb 2015 11:27:15 -0500 Subject: [PATCH 1/2] Add support for a path in the URL --- SocketIO.h | 1 + SocketIO.m | 10 +++++----- SocketIOTransport.h | 1 + SocketIOTransportWebsocket.m | 12 ++++++------ SocketIOTransportXHR.m | 12 ++++++------ 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/SocketIO.h b/SocketIO.h index 67ceb23..01b38d8 100755 --- a/SocketIO.h +++ b/SocketIO.h @@ -101,6 +101,7 @@ typedef enum { @property (nonatomic, readonly) NSString *sid; @property (nonatomic, readonly) NSTimeInterval heartbeatTimeout; @property (nonatomic) BOOL useSecure; +@property (nonatomic) NSString *path; @property (nonatomic) NSArray *cookies; @property (nonatomic, readonly) BOOL isConnected, isConnecting; @property (nonatomic, weak) id delegate; diff --git a/SocketIO.m b/SocketIO.m index a2497f8..25dfa15 100755 --- a/SocketIO.m +++ b/SocketIO.m @@ -36,11 +36,11 @@ #define DEBUGLOG(...) #endif -static NSString* kResourceName = @"socket.io"; +static NSString* kResourceName = @"/socket.io"; static NSString* kTransportPolling = @"polling"; static NSString* kTransportWebsocket = @"websocket"; -static NSString* kHandshakeURL = @"%@://%@%@/%@/1/?EIO=2&transport=%@&t=%.0f%@"; -static NSString* kForceDisconnectURL = @"%@://%@%@/%@/1/xhr-polling/%@?disconnect"; +static NSString* kHandshakeURL = @"%@://%@%@%@%@/1/?EIO=2&transport=%@&t=%.0f%@"; +static NSString* kForceDisconnectURL = @"%@://%@%@%@%@/1/xhr-polling/%@?disconnect"; float const defaultConnectionTimeout = 10.0f; @@ -137,7 +137,7 @@ - (void) connectToHost:(NSString *)host NSString *protocol = _useSecure ? @"https" : @"http"; NSString *port = _port ? [NSString stringWithFormat:@":%d", _port] : @""; NSTimeInterval time = [[NSDate date] timeIntervalSince1970] * 1000; - NSString *handshakeUrl = [NSString stringWithFormat:kHandshakeURL, protocol, _host, port, kResourceName,kTransportPolling, time, query]; + NSString *handshakeUrl = [NSString stringWithFormat:kHandshakeURL, protocol, _host, port, _path, kResourceName,kTransportPolling, time, query]; //@"%@://%@%@/%@/1/?t=%.0f%@"; //http:///socket.io/1/?t=