Skip to content

Commit a5b8202

Browse files
committed
fix #66
1 parent 918f176 commit a5b8202

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

SocketIOClientSwift/SocketEngine.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
185185
}
186186

187187
private func createWebsocket(andConnect connect:Bool) {
188-
self.ws = WebSocket(url: NSURL(string: self.urlWebSocket! + "&sid=\(self.sid)")!)
188+
self.ws = WebSocket(url: NSURL(string: self.urlWebSocket! + "&sid=\(self.sid)")!,
189+
cookies: self.cookies)
189190
self.ws?.queue = self.handleQueue
190191
self.ws?.delegate = self
191192

SocketIOClientSwift/WebSocket.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public class WebSocket : NSObject, NSStreamDelegate {
7878
var buffer: NSMutableData?
7979
}
8080

81+
private var cookies:[NSHTTPCookie]?
8182
public weak var delegate: WebSocketDelegate?
8283
private var url: NSURL
8384
private var inputStream: NSInputStream?
@@ -103,6 +104,11 @@ public class WebSocket : NSObject, NSStreamDelegate {
103104
public init(url: NSURL) {
104105
self.url = url
105106
}
107+
public convenience init(url: NSURL, cookies:[NSHTTPCookie]?) {
108+
self.init(url: url)
109+
self.cookies = cookies
110+
111+
}
106112
//used for setting protocols.
107113
public convenience init(url: NSURL, protocols: Array<String>) {
108114
self.init(url: url)
@@ -175,6 +181,14 @@ public class WebSocket : NSObject, NSStreamDelegate {
175181
port = 80
176182
}
177183
}
184+
185+
if self.cookies != nil {
186+
let headers = NSHTTPCookie.requestHeaderFieldsWithCookies(self.cookies!)
187+
for (key, value) in headers {
188+
self.addHeader(urlRequest, key: key as! String, val: value as! String)
189+
}
190+
}
191+
178192
self.addHeader(urlRequest, key: headerWSUpgradeName, val: headerWSUpgradeValue)
179193
self.addHeader(urlRequest, key: headerWSConnectionName, val: headerWSConnectionValue)
180194
if let protocols = optionalProtocols {

0 commit comments

Comments
 (0)