diff --git a/changelog.d/5-internal/websocket-endpoint b/changelog.d/5-internal/websocket-endpoint new file mode 100644 index 00000000000..0a18d9c099c --- /dev/null +++ b/changelog.d/5-internal/websocket-endpoint @@ -0,0 +1 @@ +cannon: Add /websocket endpoint which is the same as /await \ No newline at end of file diff --git a/charts/cannon/conf/static/zauth.acl b/charts/cannon/conf/static/zauth.acl index d9b41b5bf9c..a4c7ec7a9af 100644 --- a/charts/cannon/conf/static/zauth.acl +++ b/charts/cannon/conf/static/zauth.acl @@ -1,2 +1,3 @@ a (whitelist (regex "/await") + (regex "/websocket") (regex "(/v[0-9]+)?/events")) diff --git a/charts/cannon/values.yaml b/charts/cannon/values.yaml index d1428b21d80..b9f65c4d471 100644 --- a/charts/cannon/values.yaml +++ b/charts/cannon/values.yaml @@ -107,6 +107,10 @@ nginx_conf: envs: - all use_websockets: true + - path: /websocket + envs: + - all + use_websockets: true - path: /events envs: - all diff --git a/libs/wire-api/src/Wire/API/Routes/Public/Cannon.hs b/libs/wire-api/src/Wire/API/Routes/Public/Cannon.hs index 40974438b6f..6fefbcf80ae 100644 --- a/libs/wire-api/src/Wire/API/Routes/Public/Cannon.hs +++ b/libs/wire-api/src/Wire/API/Routes/Public/Cannon.hs @@ -44,6 +44,23 @@ type CannonAPI = -- FUTUREWORK: Consider higher-level web socket combinator :> WebSocketPending ) + :<|> Named + "websocket" + ( Summary "Establish websocket connection" + :> Description "This is a temporary copy of await, please do not use it" + :> "websocket" + :> ZUser + :> ZConn + :> QueryParam' + [ Optional, + Strict, + Description "Client ID" + ] + "client" + ClientId + -- FUTUREWORK: Consider higher-level web socket combinator + :> WebSocketPending + ) :<|> Named "consume-events@v8" ( Summary "Consume events over a websocket connection" diff --git a/services/cannon/src/Cannon/API/Public.hs b/services/cannon/src/Cannon/API/Public.hs index 45a56c38b60..e80eb7aa4f5 100644 --- a/services/cannon/src/Cannon/API/Public.hs +++ b/services/cannon/src/Cannon/API/Public.hs @@ -36,6 +36,7 @@ import Wire.API.Routes.Public.Cannon publicAPIServer :: ServerT CannonAPI Cannon publicAPIServer = Named @"await-notifications" streamData + :<|> Named @"websocket" streamData :<|> Named @"consume-events@v8" (\userId mClientId -> consumeEvents userId mClientId Nothing) :<|> Named @"consume-events" consumeEvents