diff options
| author | Zeyla Hellyer <[email protected]> | 2017-06-06 16:29:12 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-06-06 16:29:12 -0700 |
| commit | 8b10285590c95a6d1ecd96cb222e85217b418c2f (patch) | |
| tree | 14a7452d6d2dc331fe6883bc650b04268722b896 | |
| parent | Deprecate Client::login, add Client::new (diff) | |
| download | serenity-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.rs | 22 |
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()) +} |