Просмотр исходного кода

[WebApiManager] use a new CorruptedJoinProjectResponseError

Jakob Ackermann 6 лет назад
Родитель
Сommit
02a2382264
2 измененных файлов с 13 добавлено и 8 удалено
  1. 7 0
      services/real-time/app/js/Errors.js
  2. 6 8
      services/real-time/app/js/WebApiManager.js

+ 7 - 0
services/real-time/app/js/Errors.js

@@ -6,6 +6,12 @@ class CodedError extends OError {
   }
 }
 
+class CorruptedJoinProjectResponseError extends OError {
+  constructor() {
+    super('no data returned from joinProject request')
+  }
+}
+
 class DataTooLargeToParseError extends OError {
   constructor(data) {
     super('data too large to parse', {
@@ -47,6 +53,7 @@ class WebApiRequestFailedError extends OError {
 
 module.exports = {
   CodedError,
+  CorruptedJoinProjectResponseError,
   DataTooLargeToParseError,
   MissingSessionError,
   NotAuthorizedError,

+ 6 - 8
services/real-time/app/js/WebApiManager.js

@@ -4,7 +4,11 @@
 const request = require('request')
 const settings = require('settings-sharelatex')
 const logger = require('logger-sharelatex')
-const { CodedError, WebApiRequestFailedError } = require('./Errors')
+const {
+  CodedError,
+  CorruptedJoinProjectResponseError,
+  WebApiRequestFailedError
+} = require('./Errors')
 
 module.exports = {
   joinProject(project_id, user, callback) {
@@ -32,15 +36,9 @@ module.exports = {
         if (error) {
           return callback(error)
         }
-        let err
         if (response.statusCode >= 200 && response.statusCode < 300) {
           if (!(data && data.project)) {
-            err = new Error('no data returned from joinProject request')
-            logger.error(
-              { err, project_id, user_id },
-              'error accessing web api'
-            )
-            return callback(err)
+            return callback(new CorruptedJoinProjectResponseError())
           }
           callback(
             null,