aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-06-06 16:29:12 -0700
committerZeyla Hellyer <[email protected]>2017-06-06 16:29:12 -0700
commit8b10285590c95a6d1ecd96cb222e85217b418c2f (patch)
tree14a7452d6d2dc331fe6883bc650b04268722b896
parentDeprecate Client::login, add Client::new (diff)
downloadserenity-8b10285590c95a6d1ecd96cb222e85217b418c2f.tar.xz
serenity-8b10285590c95a6d1ecd96cb222e85217b418c2f.zip
Separate websocket client initialization
The logic for this was duplicated, and can be easily separated into its own function.
-rw-r--r--src/gateway/shard.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/gateway/shard.rs b/src/gateway/shard.rs
index d449a81..aaebf14 100644
--- a/src/gateway/shard.rs
+++ b/src/gateway/shard.rs
@@ -119,12 +119,7 @@ impl Shard {
token: &str,
shard_info: Option<[u64; 2]>)
-> Result<(Shard, ReadyEvent, Receiver<WebSocketStream>)> {
- let url = prep::build_gateway_url(base_url)?;
-
- let response = WsClient::connect(url)?.send()?;
- response.validate()?;
-
- let (mut sender, mut receiver) = response.begin().split();
+ let (mut sender, mut receiver) = connect(base_url)?;
let identification = prep::identify(token, shard_info);
sender.send_json(&identification)?;
@@ -732,12 +727,7 @@ impl Shard {
};
let _ = receiver.shutdown_all();
- let url = prep::build_gateway_url(&self.ws_url)?;
-
- let response = WsClient::connect(url)?.send()?;
- response.validate()?;
-
- let (mut sender, mut receiver) = response.begin().split();
+ let (mut sender, mut receiver) = connect(&self.ws_url)?;
sender.send_json(&json!({
"op": OpCode::Resume.num(),
@@ -817,3 +807,11 @@ impl Shard {
}
}
}
+
+fn connect(base_url: &str) -> Result<(Sender<WebSocketStream>, Receiver<WebSocketStream>)> {
+ let url = prep::build_gateway_url(base_url)?;
+ let response = WsClient::connect(url)?.send()?;
+ response.validate()?;
+
+ Ok(response.begin().split())
+}