diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-07-13 23:39:16 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-07-13 23:39:16 -0600 |
commit | 0fb9f22ff7622940669faf4ec25e9bb9856c5def (patch) | |
tree | 809875f68ba346bb0f677f2870745d38be15a6a1 /components/script/dom | |
parent | c70d53c9feae94ae9cbc95c11d507495b1cda27a (diff) | |
parent | 15102d9c534f319adb8711ddb1e111dcfaf537cd (diff) | |
download | servo-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.rs | 4 |
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(); |