diff options
author | Corey Farwell <coreyf@rwell.org> | 2016-12-08 12:55:17 -1000 |
---|---|---|
committer | Corey Farwell <coreyf@rwell.org> | 2016-12-15 15:34:04 -0500 |
commit | 77d2f9de3603b75468bdebf2aa24cc94d176d418 (patch) | |
tree | f8070f720ea153688013764d62a8a161d2585a89 /components/script/dom/websocket.rs | |
parent | fde9ac176887f802fe38da114c1bca9ac660769e (diff) | |
download | servo-77d2f9de3603b75468bdebf2aa24cc94d176d418.tar.gz servo-77d2f9de3603b75468bdebf2aa24cc94d176d418.zip |
Refactor and simplify 'set cookies' operations on resource thread.
Diffstat (limited to 'components/script/dom/websocket.rs')
-rw-r--r-- | components/script/dom/websocket.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 0953f7898a2..b2057e7effe 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -22,6 +22,8 @@ use dom::eventtarget::EventTarget; use dom::globalscope::GlobalScope; use dom::messageevent::MessageEvent; use dom::urlhelper::UrlHelper; +use hyper; +use hyper_serde::Serde; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use js::jsapi::{JS_GetArrayBufferData, JS_NewArrayBuffer}; use js::jsapi::JSAutoCompartment; @@ -496,13 +498,10 @@ impl Runnable for ConnectionEstablishedTask { }; // Step 5: Cookies. - if let Some(cookies) = self.headers.get_raw("set-cookie") { - for cookie in cookies.iter() { - if let Ok(cookie_value) = String::from_utf8(cookie.clone()) { - let _ = ws.global().core_resource_thread().send( - SetCookiesForUrl(ws.url.clone(), cookie_value, HTTP)); - } - } + if let Some(cookies) = self.headers.get::<hyper::header::SetCookie>() { + let cookies = cookies.iter().map(|c| Serde(c.clone())).collect(); + let _ = ws.global().core_resource_thread().send( + SetCookiesForUrl(ws.url.clone(), cookies, HTTP)); } // Step 6. |