Skip to content

Commit 95aa544

Browse files
authored
Merge pull request socketio#1058 from OneSman7/support-cookies-for-web-socket
Added passing cookies from long polling session to web scoket
2 parents 2cc47b0 + eab73c8 commit 95aa544

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Source/SocketIO/Engine/SocketEngine.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
281281
private func createWebSocketAndConnect() {
282282
var req = URLRequest(url: urlWebSocketWithSid)
283283

284-
addHeaders(to: &req)
284+
addHeaders(to: &req, includingCookies: session?.configuration.httpCookieStorage?.cookies)
285285

286286
ws = WebSocket(request: req)
287287
ws?.callbackQueue = engineQueue

Source/SocketIO/Engine/SocketEngineSpec.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,14 @@ extension SocketEngineSpec {
155155
return com.url!
156156
}
157157

158-
func addHeaders(to req: inout URLRequest) {
159-
if let cookies = cookies {
160-
req.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookies)
158+
func addHeaders(to req: inout URLRequest, includingCookies additionalCookies: [HTTPCookie]? = nil) {
159+
var cookiesToAdd: [HTTPCookie] = cookies ?? []
160+
cookiesToAdd += additionalCookies ?? []
161+
162+
if !cookiesToAdd.isEmpty {
163+
req.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookiesToAdd)
161164
}
162-
165+
163166
if let extraHeaders = extraHeaders {
164167
for (headerName, value) in extraHeaders {
165168
req.setValue(value, forHTTPHeaderField: headerName)

0 commit comments

Comments
 (0)