aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/websocket.rs
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2016-12-08 12:55:17 -1000
committerCorey Farwell <coreyf@rwell.org>2016-12-15 15:34:04 -0500
commit77d2f9de3603b75468bdebf2aa24cc94d176d418 (patch)
treef8070f720ea153688013764d62a8a161d2585a89 /components/script/dom/websocket.rs
parentfde9ac176887f802fe38da114c1bca9ac660769e (diff)
downloadservo-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.rs13
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.