Esempio n. 1
0
 public PlayerConnectionException(string message, ConnectionErrorType errorType) : base(message)
 {
     _ErrorType = errorType;
 }
Esempio n. 2
0
        /// Notifies the HTTPRespons.
        /// Callback for HttpConnectionManager
        public void notifyHTTPRespons(object result, string RequestID)
        {
            if (RequestID == Defines.LoginRequestServerHit) // Specific For Login as Per Previous Prod v1.0
            {
                Dictionary <String, Object> temp = (Dictionary <String, Object>)result;

                //HttpStatusCode lHTTPStatusCode = (HttpStatusCode)temp.GetValueOrDefault(Defines.KeyConnectionResponseHTTPStatusCode);
                HttpStatusCode lHTTPStatusCode = (HttpStatusCode)temp[Defines.KeyConnectionResponseHTTPStatusCode];
                String         lContent        = (String)temp[Defines.KeyConnectionResponseContentString];

                bool IsError = (bool)temp[Defines.IsError];
                bool IsExp   = (bool)temp[Defines.IsException];

                bool   lIsLoginSuccessFull               = false;
                String lConnectionResponseMessage        = Defines.ValueServerErrorConnectionResponseMessage;
                ConnectionErrorType lConnectionErrorType = ConnectionErrorType.EConnectionError_ServerSide_Others;

                {
                    if (String.IsNullOrWhiteSpace(lContent))
                    {
                        lConnectionResponseMessage = "Response contained empty body...";
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_EmptyResponse;

                        ConnectionErrorType lOriginalConnectionErrorType = (ConnectionErrorType)temp[Defines.KeyConnectionErrorType];
                        if (lOriginalConnectionErrorType == ConnectionErrorType.EConnectionError_ServerSide_HTTPStatusCodeIsNot200)
                        {
                            lConnectionResponseMessage = Defines.ValueHTTPStatusCodeIsNot200ConnectionResponseMessage;
                            lConnectionErrorType       = lOriginalConnectionErrorType;
                        }
                    }
                    else if (lContent.Contains("login was successful."))
                    {
                        lConnectionResponseMessage = "login was successful.";
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_None;

                        lIsLoginSuccessFull = true;
                    }
                    else if (lContent.Contains("Authentication failed"))
                    {
                        lConnectionResponseMessage = "Authentication failed";
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_AuthenticationFailed;
                    }
                    else if (lContent.Contains("To maintain your login session"))
                    {
                        lConnectionResponseMessage = Defines.ValueSessionTimeoutConnectionResponseMessage;
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_SessionTimeout;
                    }

                    Dictionary <String, Object> lDictionary = new Dictionary <String, Object>();
                    lDictionary[Defines.KeyConnectionResponseHTTPStatusCode] = lHTTPStatusCode;
                    lDictionary[Defines.KeyConnectionResponseMessage]        = lConnectionResponseMessage;
                    if (lIsLoginSuccessFull)
                    {
                        lDictionary[Defines.KeyConnectionResponseContentString] = lContent;

                        Console.WriteLine(lContent);

                        lDictionary[Defines.KeyConnectionResponseHeaders] = temp[Defines.KeyConnectionResponseHeaders];
                        lDictionary[Defines.KeyLoginCookies] = temp[Defines.KeyLoginCookies];
                        lIConnectionCallbacks.ConnectionWasSuccessFullWithResult(lDictionary, RequestID);
                    }
                    else
                    {
                        lDictionary[Defines.KeyConnectionErrorType] = lConnectionErrorType;
                        lIConnectionCallbacks.ConnectionFailedWithError(lDictionary, RequestID);
                    }
                }
            }
            else // For others Apis (Regions and Carlines)
            {
                Dictionary <String, Object> lResultDictionary = (Dictionary <String, Object>)result;

                String lContent = (String)lResultDictionary[Defines.KeyConnectionResponseContentString];

                bool   IsError = (bool)lResultDictionary[Defines.IsError];
                bool   IsExp   = (bool)lResultDictionary[Defines.IsException];
                String lConnectionResponseMessage        = Defines.ValueServerErrorConnectionResponseMessage;
                bool   lIsDataSuccessFul                 = false;
                ConnectionErrorType lConnectionErrorType = ConnectionErrorType.EConnectionError_ServerSide_Others;
                if (IsExp || IsError)
                {
                    Dictionary <String, Object> lErrorDictionary = (System.Collections.Generic.Dictionary <string, object>)result;
                    lIConnectionCallbacks.ConnectionFailedWithError(lErrorDictionary, RequestID);
                }
                else
                {
                    // Hardcoded checks are as per previous Prod build v1.0
                    if (String.IsNullOrWhiteSpace(lContent))
                    {
                        lConnectionResponseMessage = Defines.ValueServerErrorConnectionResponseMessage;
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_EmptyResponse;
                        if (lResultDictionary.ContainsKey(Defines.KeyConnectionErrorType))
                        {
                            ConnectionErrorType lOriginalConnectionErrorType = (ConnectionErrorType)lResultDictionary[Defines.KeyConnectionErrorType];
                            if (lOriginalConnectionErrorType == ConnectionErrorType.EConnectionError_ServerSide_HTTPStatusCodeIsNot200)
                            {
                                lConnectionResponseMessage = Defines.ValueHTTPStatusCodeIsNot200ConnectionResponseMessage;
                                lConnectionErrorType       = lOriginalConnectionErrorType;
                            }
                        }
                        else
                        {
                            lConnectionResponseMessage = Defines.ValueHTTPStatusCodeIsNot200ConnectionResponseMessage;
                            lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_EmptyResponse;
                        }
                    }
                    else if (lContent.Contains("Authentication failed"))
                    {
                        lConnectionResponseMessage = Defines.ValueServerErrorConnectionResponseMessage;
                        lConnectionErrorType       = ConnectionErrorType.EConnectionError_ServerSide_AuthenticationFailed;
                    }
                    else
                    {
                        lIsDataSuccessFul = true;
                    }
                    Dictionary <String, Object> lDictionary = new Dictionary <string, object>();
                    lDictionary.Add(RequestID, lContent);
                    string serverResponse      = Utilities.GetTimestamp(DateTime.Now);
                    string appEnvironmentValue = Utilities.getEnvironmentValue();

                    if (lIsDataSuccessFul)
                    {
                        lIConnectionCallbacks.ConnectionWasSuccessFullWithResult(lDictionary, RequestID); // Connection callback successful
                    }
                    else
                    {
                        lDictionary[Defines.KeyConnectionResponseMessage] = lConnectionResponseMessage; // Connection callback failure
                        lIConnectionCallbacks.ConnectionFailedWithError(lDictionary, RequestID);
                    }
                }
            }
        }
 public DatabaseConnectionException(ConnectionErrorType errorType)
 {
     _errorType = errorType;
 }
 public CognigyConnectionException(ConnectionErrorType connectionErrorType, string message)
     : base(message)
 {
 }
Esempio n. 5
0
 public ConnectionException(ConnectionErrorType connectionErrorType, Exception innerException)
     : base("Failed to open a connection to the server", innerException)
 {
     this.connectionErrorType = connectionErrorType;
 }