public IEnumerator CheckConnection(OnConnectionStateChecked loaded, OnConnectionStateCheckError error) { // Request data building WWWForm data = new WWWForm(); // Create WWW Form data.AddField("lang", LangManager.settings.language); // Add Language from Language Manager for responce messages // Send request to API Server WWW request = new WWW(server_uri + "/check_connection/", data); // Create Request yield return(request); // Send Request // Responce checking if (request.error != null) // Request has error { connection = false; // Server connection failture error("Failed to send request. Please, check your internet connection."); // Do error } else // Complete { try{ // Trying to work with responce // Here we parse JSON data and set server connection state baseResponse responce = JsonUtility.FromJson <baseResponse>(request.text); // Convert from JSON to Base Responce Model if (responce.complete) // Responce Complete { connection = true; // Server connection = true loaded(); // Loaded } else // Responce Error { connection = false; // Server connection failture error(responce.message); // Do error Debug.Log("API Error: " + responce.message); // Just log for self } }catch { // Error connection = false; // Server connection failture error("Failed to parse JSON data from server. Please, try again later."); // Do error } } }
public void executeHandler() { if (!isRequestAuthorized()) { _context.Response.StatusCode = 403; return; } string action = _context.Request["action"]; baseAction actionHandler = null; switch (action) { // Usermanagement case "login": actionHandler = new loginAction(); break; case "addUser": actionHandler = new addUserAction(); break; case "getUser": actionHandler = new getUserAction(); break; case "editUser": actionHandler = new editUserAction(); break; case "deleteUser": actionHandler = new deleteUserAction(); break; //Projectmanagement case "getProjects": actionHandler = new getProjectsAction(); break; case "getProject": actionHandler = new getProjectAction(); break; case "addProject": actionHandler = new addProjectAction(); break; case "deleteProject": actionHandler = new deleteProjectAction(); break; case "editProject": actionHandler = new editProjectAction(); break; //updateLog case "addLog": actionHandler = new addLogAction(); break; case "addLogDebug": actionHandler = new addLogDebugAction(); break; case "getLog": actionHandler = new getLogAction(); break; case "cleanupLog": actionHandler = new cleanLogAction(); break; } baseResponse response = actionHandler != null ? actionHandler.runAction(_context) : new defaultResponse { responseCode = responseCodes.Error, responseMessage = "Invalid Action" }; response.sendResponse(_context.Response); response.Dispose(); if (actionHandler != null) { actionHandler.Dispose(); } GC.Collect(); }