All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pubnub.api.PubnubError Maven / Gradle / Ivy

Go to download

PubNub is a cross-platform client-to-client (1:1 and 1:many) push service in the cloud, capable of broadcasting real-time messages to millions of web and mobile clients simultaneously, in less than a quarter second!

There is a newer version: 3.7.10
Show newest version
package com.pubnub.api;

import org.json.JSONObject;

/**
 * PubnubError object is passed to errorCallback. It contains details of error,
 * like error code, error string, and optional message
 *
 * @author Pubnub
 *
 */
public class PubnubError {

    // Error Codes

    /**
     * Timeout Error .
     */
    public static final int PNERR_TIMEOUT = 100;

    /**
     *
     */
    public static final int PNERR_PUBNUB_ERROR = 101;

    /**
     * Connect Exception . Network Unreachable.
     */
    public static final int PNERR_CONNECT_EXCEPTION = 102;

    /**
     * Please check network connectivity. Please contact support with error
     * details if issue persists.
     */
    public static final int PNERR_HTTP_ERROR = 103;

    /**
     * Client Timeout .
     */
    public static final int PNERR_CLIENT_TIMEOUT = 104;

    /**
     * An ULS singature error occurred . Please contact support with error
     * details.
     */
    static final int PNERR_ULSSIGN_ERROR = 105;

    /**
     * Please verify if network is reachable
     */
    public static final int PNERR_NETWORK_ERROR = 106;

    /**
     * Pubnub Exception .
     */
    public static final int PNERR_PUBNUB_EXCEPTION = 108;

    /**
     * Disconnect .
     */
    public static final int PNERR_DISCONNECT = 109;

    /**
     * Disconnect and Resubscribe Received .
     */
    public static final int PNERR_DISCONN_AND_RESUB = 110;

    /**
     * Gateway Timeout
     */
    public static final int PNERR_GATEWAY_TIMEOUT = 111;

    /**
     * Pubnub server returned HTTP 403 forbidden status code. Happens when wrong
     * authentication key is used .
     */
    public static final int PNERR_FORBIDDEN = 112;
    /**
     * Pubnub server returned HTTP 401 unauthorized status code Happens when
     * authentication key is missing .
     */
    public static final int PNERR_UNAUTHORIZED = 113;

    /**
     * Secret key not configured
     */
    public static final int PNERR_SECRET_KEY_MISSING = 114;

    // internal error codes

    /**
     * Error while encrypting message to be published to Pubnub Cloud . Please
     * contact support with error details.
     */
    public static final int PNERR_ENCRYPTION_ERROR = 115;

    /**
     * Decryption Error . Please contact support with error details.
     */
    public static final int PNERR_DECRYPTION_ERROR = 116;

    /**
     * Invalid Json . Please contact support with error details.
     */
    public static final int PNERR_INVALID_JSON = 117;

    /**
     * Unable to open input stream . Please contact support with error details.
     */
    static final int PNERR_GETINPUTSTREAM = 118;

    /**
     * Malformed URL . Please contact support with error details .
     */
    static final int PNERR_MALFORMED_URL = 119;

    /**
     * Error in opening URL . Please contact support with error details.
     */
    public static final int PNERR_URL_OPEN = 120;

    /**
     * JSON Error while processing API response. Please contact support with
     * error details.
     */
    static final int PNERR_JSON_ERROR = 121;

    /**
     * Protocol Exception . Please contact support with error details.
     */
    static final int PNERR_PROTOCOL_EXCEPTION = 122;

    /**
     * Unable to read input stream . Please contact support with error details.
     */
    static final int PNERR_READINPUT = 123;

    /**
     * Bad gateway . Please contact support with error details.
     */
    static final int PNERR_BAD_GATEWAY = 124;

    /**
     * Pubnub server returned HTTP 502 internal server error status code. Please
     * contact support with error details.
     */
    static final int PNERR_INTERNAL_ERROR = 125;

    /**
     * Parsing Error .
     */
    static final int PNERR_PARSING_ERROR = 126;

    /**
     * Bad Request . Please contact support with error details.
     */
    static final int PNERR_BAD_REQUEST = 127;

    public static final int PNERR_HTTP_RC_ERROR = 128;
    /**
     * Pubnub server or intermediate server returned HTTP 404 unauthorized
     * status code
     *
     */
    public static final int PNERR_NOT_FOUND = 129;

    /**
     * Subscribe Timeout .
     */
    static final int PNERR_HTTP_SUBSCRIBE_TIMEOUT = 130;

    /**
     * Invalid arguments provided to API
     *
     */
    public static final int PNERR_INVALID_ARGUMENTS = 131;

    /**
     * Channel missing
     *
     */
    public static final int PNERR_CHANNEL_MISSING = 132;

    /**
     * Pubnub connection not set on sender
     *
     */
    public static final int PNERR_CONNECTION_NOT_SET = 133;

    /**
     * Error while parsing group name
     */
    public static final int PNERR_CHANNEL_GROUP_PARSING_ERROR = 134;

    /**
     * Crypto Error
     */
    public static final int PNERR_CRYPTO_ERROR = 135;
    // Error Objects

    static final PubnubError PNERROBJ_TIMEOUT = new PubnubError(PNERR_TIMEOUT, "Timeout Occurred");

    static final PubnubError PNERROBJ_INTERNAL_ERROR = new PubnubError(PNERR_INTERNAL_ERROR, "Internal Error");

    static final PubnubError PNERROBJ_ENCRYPTION_ERROR = new PubnubError(PNERR_ENCRYPTION_ERROR,
            "Error while encrypting message to be published to Pubnub Cloud ."
                    + "Please contact support with error details.");

    static final PubnubError PNERROBJ_DECRYPTION_ERROR = new PubnubError(PNERR_DECRYPTION_ERROR, "Decryption Error. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_INVALID_JSON = new PubnubError(PNERR_INVALID_JSON, "Invalid Json. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_JSON_ERROR = new PubnubError(PNERR_JSON_ERROR,
            "JSON Error while processing API response. " + "Please contact support with error details.");

    static final PubnubError PNERROBJ_MALFORMED_URL = new PubnubError(PNERR_MALFORMED_URL, "Malformed URL ."
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_PUBNUB_ERROR = new PubnubError(PNERR_PUBNUB_ERROR, "Pubnub Error");

    static final PubnubError PNERROBJ_URL_OPEN = new PubnubError(PNERR_URL_OPEN, "Error opening url. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_PROTOCOL_EXCEPTION = new PubnubError(PNERR_PROTOCOL_EXCEPTION,
            "Protocol Exception. " + "Please contact support with error details.");

    static final PubnubError PNERROBJ_CONNECT_EXCEPTION = new PubnubError(PNERR_CONNECT_EXCEPTION,
            "Connect Exception. " + "Please verify if network is reachable. ");

    static final PubnubError PNERROBJ_HTTP_RC_ERROR = new PubnubError(PNERR_HTTP_RC_ERROR,
            "Unable to get Response Code. " + "Please contact support with error details.");

    static final PubnubError PNERROBJ_GETINPUTSTREAM = new PubnubError(PNERR_GETINPUTSTREAM,
            "Unable to get Input Stream. " + "Please contact support with error details.");

    static final PubnubError PNERROBJ_READINPUT = new PubnubError(PNERR_READINPUT, "Unable to read Input Stream. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_BAD_REQUEST = new PubnubError(PNERR_BAD_REQUEST, "Bad request. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_HTTP_ERROR = new PubnubError(PNERR_HTTP_ERROR, "HTTP Error. "
            + "Please check network connectivity. " + "Please contact support with error details if issue persists.");

    static final PubnubError PNERROBJ_BAD_GATEWAY = new PubnubError(PNERR_BAD_GATEWAY, "Bad Gateway. "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_CLIENT_TIMEOUT = new PubnubError(PNERR_CLIENT_TIMEOUT, "Client Timeout");

    static final PubnubError PNERROBJ_GATEWAY_TIMEOUT = new PubnubError(PNERR_GATEWAY_TIMEOUT, "Gateway Timeout");

    static final PubnubError PNERROBJ_5023_INTERNAL_ERROR = new PubnubError(PNERR_INTERNAL_ERROR,
            "Internal Server Error. " + "Please contact support with error details.");

    static final PubnubError PNERROBJ_PARSING_ERROR = new PubnubError(PNERR_PARSING_ERROR, "Parsing Error");

    static final PubnubError PNERROBJ_PUBNUB_EXCEPTION = new PubnubError(PNERR_PUBNUB_EXCEPTION, "Pubnub Exception");

    static final PubnubError PNERROBJ_DISCONNECT = new PubnubError(PNERR_DISCONNECT, "Disconnect");

    static final PubnubError PNERROBJ_DISCONN_AND_RESUB = new PubnubError(PNERR_DISCONN_AND_RESUB,
            "Disconnect and Resubscribe");

    static final PubnubError PNERROBJ_FORBIDDEN = new PubnubError(PNERR_FORBIDDEN, "Authentication Failure. "
            + "Incorrect Authentication Key");

    static final PubnubError PNERROBJ_UNAUTHORIZED = new PubnubError(PNERR_UNAUTHORIZED, "Authentication Failure. "
            + "Authentication Key is missing");

    static final PubnubError PNERROBJ_SECRET_KEY_MISSING = new PubnubError(PNERR_SECRET_KEY_MISSING,
            "ULS configuration failed. Secret Key not configured. ");

    static final PubnubError PNERROBJ_ULSSIGN_ERROR = new PubnubError(PNERR_ULSSIGN_ERROR, "Invalid Signature . "
            + "Please contact support with error details.");

    static final PubnubError PNERROBJ_5075_NETWORK_ERROR = new PubnubError(PNERR_NETWORK_ERROR, "Network Error. "
            + "Please verify if network is reachable.");
    static final PubnubError PNERROBJ_NOT_FOUND_ERROR = new PubnubError(PNERR_NOT_FOUND, "Page Not Found"
            + "Please verify if network is reachable." + "Please contact support with error details.");

    static final PubnubError PNERROBJ_SUBSCRIBE_TIMEOUT = new PubnubError(PNERR_HTTP_SUBSCRIBE_TIMEOUT,
            "Subscribe Timeout.");

    static final PubnubError PNERROBJ_INVALID_ARGUMENTS = new PubnubError(PNERR_INVALID_ARGUMENTS, "INVALID ARGUMENTS.");

    static final PubnubError PNERROBJ_CHANNEL_MISSING = new PubnubError(PNERR_CHANNEL_MISSING, "Channel Missing.");

    static final PubnubError PNERROBJ_CONNECTION_NOT_SET = new PubnubError(PNERR_CONNECTION_NOT_SET,
            "Pubnub Connection not set");

    static final PubnubError PNERROBJ_CHANNEL_GROUP_PARSING_ERROR = new PubnubError(PNERR_CHANNEL_GROUP_PARSING_ERROR,
            "Channel group name is invalid");

    static final PubnubError PNERROBJ_CRYPTO_ERROR = new PubnubError(PNERR_CRYPTO_ERROR,
            "Error while encrypting/decrypting message." + "Please contact support with error details.");

    public final int errorCode;
    public final int errorCodeExtended;
    public final JSONObject errorObject;
    private final String errorString;
    private String message;

    private PubnubError(int errorCode, int errorCodeExtended, String errorString, JSONObject errorObject, String message) {
        this.errorCodeExtended = errorCodeExtended;
        this.errorCode = errorCode;
        this.errorString = errorString;
        this.errorObject = errorObject;
        this.message = message;
    }

    private PubnubError(int errorCode, int errorCodeExtended, String errorString) {
        this(errorCode, errorCodeExtended, errorString, null, null);
    }

    private PubnubError(int errorCode, int errorCodeExtended, String errorString, JSONObject errorObject) {
        this(errorCode, errorCodeExtended, errorString, errorObject, null);
    }

    private PubnubError(int errorCode, String errorString) {
        this(errorCode, 0, errorString, null, null);
    }

    private PubnubError(int errorCode, int errorCodeExtended, String errorString, String message) {
        this(errorCode, errorCodeExtended, errorString, null, message);
    }

    public PubnubError(PubnubError error, String message) {
        this(error.errorCode, error.errorCodeExtended, error.errorString, null, message);
    }

    public PubnubError(PubnubError error, JSONObject errorObject) {
        this(error.errorCode, error.errorCodeExtended, error.errorString, errorObject, null);
    }

    public String toString() {
        String value = "[Error: " + errorCode + "-" + errorCodeExtended + "] : " + errorString;
        if (errorObject != null) {
            value += " : " + errorObject;
        }
        if (message != null && message.length() > 0) {
            value += " : " + message;
        }

        return value;
    }

    static PubnubError getErrorObject(PubnubError error, String message) {
        return new PubnubError(error.errorCode, error.errorCodeExtended, error.errorString, message);
    }

    static PubnubError getErrorObject(PubnubError error, String message, JSONObject errorObject) {
        return new PubnubError(error.errorCode, error.errorCodeExtended, error.errorString, errorObject, message);
    }

    static PubnubError getErrorObject(PubnubError error, int errorCodeExtended, JSONObject errorObject) {
        return new PubnubError(error.errorCode, errorCodeExtended, error.errorString, errorObject);
    }

    static PubnubError getErrorObject(PubnubError error, int errorCodeExtended) {
        return new PubnubError(error.errorCode, errorCodeExtended, error.errorString);
    }

    static PubnubError getErrorObject(PubnubError error, int errorCodeExtended, String message) {
        return new PubnubError(error.errorCode, errorCodeExtended, error.errorString, message);
    }

    public String getErrorString() {
        return errorString;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy