aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-07-13 23:39:16 -0600
committerbors-servo <metajack+bors@gmail.com>2015-07-13 23:39:16 -0600
commit0fb9f22ff7622940669faf4ec25e9bb9856c5def (patch)
tree809875f68ba346bb0f677f2870745d38be15a6a1 /components/script/dom
parentc70d53c9feae94ae9cbc95c11d507495b1cda27a (diff)
parent15102d9c534f319adb8711ddb1e111dcfaf537cd (diff)
downloadservo-0fb9f22ff7622940669faf4ec25e9bb9856c5def.tar.gz
servo-0fb9f22ff7622940669faf4ec25e9bb9856c5def.zip
Auto merge of #6611 - jdm:websocketorigin, r=jdm
Add Origin header to WebSocket connections. Closes #6532. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6611) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-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();