Error manager for XHR errors.
This module allows you to provide custom handling depending on the
xhr error.
Below is the exhaustive list of functions you can implement, with the
description of the error it will handle:
Authentication error handler functions
OAuth2 uses 400 error to catch all authentication errors; see:
http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-5.2
handleInvalidGrantError
The provided authorization grant is invalid, expired, revoked, does
not match the redirection URI used in the authorization request, or
was issued to another client. Note that the server implementation
will override invalid_grant as needs_login as a special case (see below).
handleNeedLoginError
The server shall use this in place of invalid_grant to tell client to
handle error specifically as caused due to invalid credentials being
supplied. The reason server needs to use this is because an invalid_grant
oauth error may also be caused by invalid or expired token.
Using needs_login allows all clients to provide proper messaging to end
user without the need for extra logic.
handleInvalidClientError
Client authentication failed (e.g. unknown client, no client
authentication included, multiple client authentications included,
or unsupported authentication method).
handleInvalidRequestError
The request is missing a required parameter, includes an unsupported
parameter or parameter value, repeats a parameter, includes multiple
credentials, utilizes more than one mechanism for authenticating the
client, or is otherwise malformed.
handleUnauthorizedClientError
The authenticated client is not authorized to use this authorization
grant type.
handleUnsupportedGrantTypeError
The authorization grant type is not supported by the authorization
server.
handleInvalidScopeError
The requested scope is invalid, unknown, malformed, or exceeds the scope
granted by the resource owner.
Other error handler functions.
handleTimeoutError
handleUnspecified400Error
handleUnauthorizedError
handleForbiddenError
handleNotFoundError
handleMethodNotAllowedError
handleMethodConflictError
handleHeaderPreconditionFailed
handleValidationError
handleMethodFailure
ErrorhandleServerError
``
Example of usage:
const Handlers = {
handleTimeoutError: function() {
console.log('The request has timed out.')
},
handleServerError: function() {
console.log('Something went wrong with the server, please contact
your admin');
}
}
const ErrorHandler = _.extend(require('./error'), Handlers);