// Copyright 2007 The Closure Library Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS-IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /** * @fileoverview Error codes shared between goog.net.IframeIo and * goog.net.XhrIo. */ goog.provide('goog.net.ErrorCode'); /** * Error codes * @enum {number} */ goog.net.ErrorCode = { /** * There is no error condition. */ NO_ERROR: 0, /** * The most common error from iframeio, unfortunately, is that the browser * responded with an error page that is classed as a different domain. The * situations, are when a browser error page is shown -- 404, access denied, * DNS failure, connection reset etc.) * */ ACCESS_DENIED: 1, /** * Currently the only case where file not found will be caused is when the * code is running on the local file system and a non-IE browser makes a * request to a file that doesn't exist. */ FILE_NOT_FOUND: 2, /** * If Firefox shows a browser error page, such as a connection reset by * server or access denied, then it will fail silently without the error or * load handlers firing. */ FF_SILENT_ERROR: 3, /** * Custom error provided by the client through the error check hook. */ CUSTOM_ERROR: 4, /** * Exception was thrown while processing the request. */ EXCEPTION: 5, /** * The Http response returned a non-successful http status code. */ HTTP_ERROR: 6, /** * The request was aborted. */ ABORT: 7, /** * The request timed out. */ TIMEOUT: 8, /** * The resource is not available offline. */ OFFLINE: 9 }; /** * Returns a friendly error message for an error code. These messages are for * debugging and are not localized. * @param {goog.net.ErrorCode} errorCode An error code. * @return {string} A message for debugging. */ goog.net.ErrorCode.getDebugMessage = function(errorCode) { switch (errorCode) { case goog.net.ErrorCode.NO_ERROR: return 'No Error'; case goog.net.ErrorCode.ACCESS_DENIED: return 'Access denied to content document'; case goog.net.ErrorCode.FILE_NOT_FOUND: return 'File not found'; case goog.net.ErrorCode.FF_SILENT_ERROR: return 'Firefox silently errored'; case goog.net.ErrorCode.CUSTOM_ERROR: return 'Application custom error'; case goog.net.ErrorCode.EXCEPTION: return 'An exception occurred'; case goog.net.ErrorCode.HTTP_ERROR: return 'Http response at 400 or 500 level'; case goog.net.ErrorCode.ABORT: return 'Request was aborted'; case goog.net.ErrorCode.TIMEOUT: return 'Request timed out'; case goog.net.ErrorCode.OFFLINE: return 'The resource is not available offline'; default: return 'Unrecognized error code'; } };