aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Cuza <bogdan.cuza@hotmail.com>2015-07-02 22:58:39 +0300
committerJosh Matthews <josh@joshmatthews.net>2015-07-13 12:03:19 -0400
commit35d5328271bc10b18a418d37933efd168bed09a4 (patch)
tree1071e03e56741ee8ba5684053846dec1b5f10310
parent12195a5c4ac08f1e6eeaf8888c279fea8e5be48a (diff)
downloadservo-35d5328271bc10b18a418d37933efd168bed09a4.tar.gz
servo-35d5328271bc10b18a418d37933efd168bed09a4.zip
Fix #6379
-rw-r--r--components/script/dom/websocket.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 0c0ab25a3ea..effa8b54112 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -32,6 +32,7 @@ use websocket::client::receiver::Receiver;
use websocket::stream::WebSocketStream;
use websocket::client::request::Url;
use websocket::Client;
+use websocket::header::Origin;
#[derive(JSTraceable, PartialEq, Copy, Clone)]
enum WebSocketRequestState {
@@ -139,7 +140,7 @@ impl WebSocket {
// TODO Client::connect does not conform to RFC 6455
// see https://github.com/cyderize/rust-websocket/issues/38
- let request = match Client::connect(url) {
+ let mut request = match Client::connect(url) {
Ok(request) => request,
Err(_) => {
let global_root = ws.r().global.root();
@@ -149,6 +150,7 @@ impl WebSocket {
return Ok(ws);
}
};
+ request.headers.set(Origin(global.get_url().serialize()));
let response = request.send().unwrap();
response.validate().unwrap();