Merge pull request #1058 from OneSman7/support-cookies-for-web-socket
Added passing cookies from long polling session to web scoket
This commit is contained in:
commit
95aa544275
@ -281,7 +281,7 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So
|
|||||||
private func createWebSocketAndConnect() {
|
private func createWebSocketAndConnect() {
|
||||||
var req = URLRequest(url: urlWebSocketWithSid)
|
var req = URLRequest(url: urlWebSocketWithSid)
|
||||||
|
|
||||||
addHeaders(to: &req)
|
addHeaders(to: &req, includingCookies: session?.configuration.httpCookieStorage?.cookies)
|
||||||
|
|
||||||
ws = WebSocket(request: req)
|
ws = WebSocket(request: req)
|
||||||
ws?.callbackQueue = engineQueue
|
ws?.callbackQueue = engineQueue
|
||||||
|
|||||||
@ -155,11 +155,14 @@ extension SocketEngineSpec {
|
|||||||
return com.url!
|
return com.url!
|
||||||
}
|
}
|
||||||
|
|
||||||
func addHeaders(to req: inout URLRequest) {
|
func addHeaders(to req: inout URLRequest, includingCookies additionalCookies: [HTTPCookie]? = nil) {
|
||||||
if let cookies = cookies {
|
var cookiesToAdd: [HTTPCookie] = cookies ?? []
|
||||||
req.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookies)
|
cookiesToAdd += additionalCookies ?? []
|
||||||
|
|
||||||
|
if !cookiesToAdd.isEmpty {
|
||||||
|
req.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookiesToAdd)
|
||||||
}
|
}
|
||||||
|
|
||||||
if let extraHeaders = extraHeaders {
|
if let extraHeaders = extraHeaders {
|
||||||
for (headerName, value) in extraHeaders {
|
for (headerName, value) in extraHeaders {
|
||||||
req.setValue(value, forHTTPHeaderField: headerName)
|
req.setValue(value, forHTTPHeaderField: headerName)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user