commit ec60839064ac65977188cf2e0ca87d4b8995ae97
parent 255a06382d73237ce46dea2a4623696175d849a5
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Fri, 27 Mar 2020 08:38:54 +0100
Merge pull request #932 from jjlin/ws-fix
Fix WebSocket notifications
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/api/notifications.rs b/src/api/notifications.rs
@@ -152,6 +152,9 @@ impl WSHandler {
impl Handler for WSHandler {
fn on_open(&mut self, hs: Handshake) -> ws::Result<()> {
// Path == "/notifications/hub?id=<id>==&access_token=<access_token>"
+ //
+ // We don't use `id`, and as of around 2020-03-25, the official clients
+ // no longer seem to pass `id` (only `access_token`).
let path = hs.request.resource();
let (_id, access_token) = match path.split('?').nth(1) {
@@ -170,10 +173,11 @@ impl Handler for WSHandler {
match (id, access_token) {
(Some(a), Some(b)) => (a, b),
- _ => return self.err("Missing id or access token"),
+ (None, Some(b)) => ("", b), // Ignore missing `id`.
+ _ => return self.err("Missing access token"),
}
}
- None => return self.err("Missing query path"),
+ None => return self.err("Missing query parameters"),
};
// Validate the user