From 0462e3e4371156e7ebd7db940141406475764ac0 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Thu, 20 Aug 2020 13:07:27 +0100 Subject: [PATCH] [WebsocketController] use a new NotJoinedError --- services/real-time/app/js/Errors.js | 7 +++++++ services/real-time/app/js/WebsocketController.js | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/services/real-time/app/js/Errors.js b/services/real-time/app/js/Errors.js index 24c0b3d316..d684764b0c 100644 --- a/services/real-time/app/js/Errors.js +++ b/services/real-time/app/js/Errors.js @@ -50,6 +50,12 @@ class NotAuthorizedError extends OError { } } +class NotJoinedError extends OError { + constructor() { + super('no project_id found on client') + } +} + class NullBytesInOpError extends OError { constructor(jsonChange) { super('null bytes found in op', { jsonChange }) @@ -76,6 +82,7 @@ module.exports = { DocumentUpdaterRequestFailedError, MissingSessionError, NotAuthorizedError, + NotJoinedError, NullBytesInOpError, UpdateTooLargeError, WebApiRequestFailedError diff --git a/services/real-time/app/js/WebsocketController.js b/services/real-time/app/js/WebsocketController.js index a695d02b96..b099d8e4e4 100644 --- a/services/real-time/app/js/WebsocketController.js +++ b/services/real-time/app/js/WebsocketController.js @@ -9,7 +9,7 @@ const DocumentUpdaterManager = require('./DocumentUpdaterManager') const ConnectedUsersManager = require('./ConnectedUsersManager') const WebsocketLoadBalancer = require('./WebsocketLoadBalancer') const RoomManager = require('./RoomManager') -const { NotAuthorizedError } = require('./Errors') +const { NotAuthorizedError, NotJoinedError } = require('./Errors') let WebsocketController module.exports = WebsocketController = { @@ -158,7 +158,7 @@ module.exports = WebsocketController = { metrics.inc('editor.join-doc') const { project_id, user_id, is_restricted_user } = client.ol_context if (!project_id) { - return callback(new Error('no project_id found on client')) + return callback(new NotJoinedError()) } logger.log( { user_id, project_id, doc_id, fromVersion, client_id: client.id }, @@ -424,7 +424,7 @@ module.exports = WebsocketController = { return callback(null, []) } if (!project_id) { - return callback(new Error('no project_id found on client')) + return callback(new NotJoinedError()) } logger.log( { user_id, project_id, client_id: client.id }, @@ -459,7 +459,7 @@ module.exports = WebsocketController = { // client may have disconnected, but we can submit their update to doc-updater anyways. const { user_id, project_id } = client.ol_context if (!project_id) { - return callback(new Error('no project_id found on client')) + return callback(new NotJoinedError()) } WebsocketController._assertClientCanApplyUpdate(