[WebApiManager] use a new WebApiRequestFailedError
This commit is contained in:
@@ -39,11 +39,18 @@ class UpdateTooLargeError extends OError {
|
||||
}
|
||||
}
|
||||
|
||||
class WebApiRequestFailedError extends OError {
|
||||
constructor(statusCode) {
|
||||
super('non-success status code from web', { statusCode })
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
CodedError,
|
||||
DataTooLargeToParseError,
|
||||
MissingSessionError,
|
||||
NotAuthorizedError,
|
||||
NullBytesInOpError,
|
||||
UpdateTooLargeError
|
||||
UpdateTooLargeError,
|
||||
WebApiRequestFailedError
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
const request = require('request')
|
||||
const settings = require('settings-sharelatex')
|
||||
const logger = require('logger-sharelatex')
|
||||
const { CodedError } = require('./Errors')
|
||||
const { CodedError, WebApiRequestFailedError } = require('./Errors')
|
||||
|
||||
module.exports = {
|
||||
joinProject(project_id, user, callback) {
|
||||
@@ -57,11 +57,7 @@ module.exports = {
|
||||
)
|
||||
)
|
||||
} else {
|
||||
err = new Error(
|
||||
`non-success status code from web: ${response.statusCode}`
|
||||
)
|
||||
logger.error({ err, project_id, user_id }, 'error accessing web api')
|
||||
callback(err)
|
||||
callback(new WebApiRequestFailedError(response.statusCode))
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -106,7 +106,10 @@ describe('WebApiManager', function () {
|
||||
return it('should call the callback with an error', function () {
|
||||
return this.callback
|
||||
.calledWith(
|
||||
sinon.match({ message: 'non-success status code from web: 500' })
|
||||
sinon.match({
|
||||
message: 'non-success status code from web',
|
||||
info: { statusCode: 500 }
|
||||
})
|
||||
)
|
||||
.should.equal(true)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user