Exemplo n.º 1
0
        public IEnumerator GetToken(int plan_id, string auth_token, OnRequestComplete complete, OnRequestError error)
        {
            string url = routes.Single(u => u.Key == "share").Value + plan_id.ToString();
            //string url = routes.Single(route => route.Key == "share").Value + plan_id.ToString();

            UnityWebRequest request = UnityWebRequest.Get(url);

            request.SetRequestHeader("Accept", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + auth_token);
            request.method = UnityWebRequest.kHttpVerbGET;

            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
            }
            else
            {
                try {
                    String json = request.downloadHandler.text;
                    Debug.Log(json);
                    //Share response = JsonUtility.FromJson<UserResponse>(json);
                    //if (response.success) {
                    //    UserManager.instance.Login(response.data.firstname, response.data.lastname, response.data.email, response.data.state, response.data.zip, response.data.phone);
                    //complete();
                    //} else {
                    //error(response.error.message);
                    //}
                }
                catch (Exception ex) {
                    error(ex.ToString());
                }
            }
        }
Exemplo n.º 2
0
        public IEnumerator Logout(string token, OnRequestComplete complete, OnRequestError error)
        {
            string url = routes.Single(route => route.Key == "logout").Value;

            UnityWebRequest request = UnityWebRequest.Post(url, "");

            request.SetRequestHeader("Accept", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + token);
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
            }
            else
            {
                try {
                    String         json     = request.downloadHandler.text;
                    LogoutResponse response = JsonUtility.FromJson <LogoutResponse>(json);
                    if (response.success)
                    {
                        complete();
                    }
                    else
                    {
                        error(response.error.message);
                    }
                }
                catch (Exception ex) {
                    error(ex.ToString());
                }
            }
        }
Exemplo n.º 3
0
        public async Task <RestResponse> SendAsync(HttpRequestMessage message)
        {
            var response = await _client.SendAsync(message);

            RestResponse restResponse = new RestResponse();

            restResponse.HttpResponseMessage = response;
            restResponse.Body = await response.Content.ReadAsStringAsync();

            restResponse.Success = response.IsSuccessStatusCode;

            if (restResponse.Success)
            {
                OnRequestComplete?.Invoke(
                    message.Method.Method.ToString(),
                    message.RequestUri.AbsolutePath
                    );
            }

            if (_ensureSuccess)
            {
                response.EnsureSuccessStatusCode();
            }

            return(restResponse);
        }
Exemplo n.º 4
0
        public static async Task <bool> PostImage(string url, OnRequestComplete complete, OnRequestError error)
        {
            try
            {                                        // Creating client and send request
                var myHttpClient = new HttpClient(); // Create HTTP Client
                myHttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
                myHttpClient.DefaultRequestHeaders.Add("Authorization", Hidden.YandexToken);
                var response = await myHttpClient.PostAsync("https://dialogs.yandex.net/api/v1/skills/" + Hidden.YandexSkillId + "/images",
                                                            Request.ToHttpContent(new KeyValuePair <string, string>[] {
                    new KeyValuePair <string, string>("url", url)      // App token
                }));                                                   // HTTP Response

                var json = await response.Content.ReadAsStringAsync(); // JSON Data

                try
                {
                    complete(json); // Show Complete
                    return(true);
                }
                catch (Exception ex)                                                 //
                {                                                                    // Failed to decode data
                    error(ex.Message + "\n=====================\n" + ex.StackTrace); // Show Error
                    return(false);
                }
            }
            catch (Exception ex)
            {                                                                    // Failed to send request
                error(ex.Message + "\n=====================\n" + ex.StackTrace); // Show Error
                return(false);
            }
        }
Exemplo n.º 5
0
        public static async Task <bool> GETAsync(string url, OnRequestComplete complete, OnRequestError error)
        {
            try
            {                                        // Creating client and send request
                // Set client vars
                var myHttpClient = new HttpClient(); // Create HTTP Client
                myHttpClient.DefaultRequestHeaders.Add("View", "stb3");
                myHttpClient.DefaultRequestHeaders.Add("X-Auth-Token", Hidden.ServiceToken);
                var response = await myHttpClient.GetAsync(url);       // HTTP Response

                var json = await response.Content.ReadAsStringAsync(); // JSON Data

                try
                {
                    complete(json); // Show Complete
                    return(true);
                }
                catch (Exception ex)
                {                                      // Failed to decode data
                    error(ex.Message + ex.StackTrace); // Show Error
                    return(false);
                }
            }
            catch (Exception ex)
            {                                                                    // Failed to send request
                error(ex.Message + "\n=====================\n" + ex.StackTrace); // Show Error
                return(false);
            }
        }
Exemplo n.º 6
0
        public static async Task <bool> POSTAsync(string url, HttpContent data, OnRequestComplete complete, OnRequestError error)
        {
            try
            {                                                               // Creating client and send request
                // Set client vars
                var myHttpClient = new HttpClient();                        // Create HTTP Client
                var response     = await myHttpClient.PostAsync(url, data); // HTTP Response

                var json = await response.Content.ReadAsStringAsync();      // JSON Data

                try
                {
                    complete(json); // Show Complete
                    return(true);
                }
                catch (Exception ex)
                {                                                                    // Failed to decode data
                    error(ex.Message + "\n=====================\n" + ex.StackTrace); // Show Error
                    return(false);
                }
            }
            catch (Exception ex)
            {                                                                    // Failed to send request
                error(ex.Message + "\n=====================\n" + ex.StackTrace); // Show Error
                return(false);
            }
        }
Exemplo n.º 7
0
        public IEnumerator Save(String token, OnRequestComplete complete, OnRequestError error, PlanRequest plan)
        {
            string url = routes.Single(u => u.Key == "plans").Value;

            Debug.Log("plan name in kHttp = " + plan.name);
            Debug.Log("Plan ToJson = " + JsonUtility.ToJson(plan));
            Debug.Log("URL is = " + url);
            UnityWebRequest request = UnityWebRequest.Put(url, JsonUtility.ToJson(plan));

            request.SetRequestHeader("Accept", "application/json");
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + token);
            request.method = UnityWebRequest.kHttpVerbPOST;
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                Debug.Log("GOT A HTTP isHttpError = " + request.isHttpError);
                Debug.Log("GOT A HTTP isNetworkError = " + request.isNetworkError);
                error(request.error);
            }
            else
            {
                String json = request.downloadHandler.text;
                complete(json);
            }
        }
Exemplo n.º 8
0
 public void Execute(OnRequestComplete onRequestComplete)
 {
     this._onRequestComplete = onRequestComplete;
     new Thread(new ThreadStart(this.internalExecute))
     {
         IsBackground = true
     }.Start();
 }
Exemplo n.º 9
0
 public void Execute(OnRequestComplete onRequestComplete)
 {
   this._onRequestComplete = onRequestComplete;
   new Thread(new ThreadStart(this.internalExecute))
   {
     IsBackground = true
   }.Start();
 }
Exemplo n.º 10
0
    public static WebRequest <uint> Register(string name, string password, OnRequestComplete <uint> onComplete = null)
    {
        var accountInfo = new AccountInfo {
            name = name, password = password.GetMD5()
        };

        return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_REGISTER), accountInfo, onComplete));
    }
Exemplo n.º 11
0
    public static WebRequest <T> Request <T>(string url, OnRequestComplete <T> onComplete = null)
    {
        var request = new WebRequest <T>()
        {
            onComplete = onComplete
        };

        Root.instance.StartCoroutine(_Request(url, request));

        return(request);
    }
Exemplo n.º 12
0
    public static WebRequest Request(string url, object postData, OnRequestComplete onComplete = null)
    {
        var request = new WebRequest()
        {
            onComplete = onComplete
        };

        Root.instance.StartCoroutine(_Request(url, postData, request));

        return(request);
    }
Exemplo n.º 13
0
    private IEnumerator SendTimeStatistics(string currentPlatform, int time, OnRequestComplete complete, OnRequestError error)
    {
        WWWForm newForm = new WWWForm();

        //string currentPlatform = Enum.GetName(typeof(Platform), _platform);

        newForm.AddField(_DATABASE_HOST, _databaseHost);
        newForm.AddField(_DATABASE_USER, _databaseUsername);
        newForm.AddField(_DATABASE_PASSWORD, _databasePassword);
        newForm.AddField(_DATABASE_NAME, _databaseName);
        newForm.AddField(_DATABASE_PORT_NUMBER, _databasePort);

        newForm.AddField(_GAME_TABLE, _tableName);

        newForm.AddField(_PLATFORM_COLUMN_NAME, _platfomColumnName);
        newForm.AddField(_TIME_COLUMN_NAME, _timeColumnName);
        newForm.AddField(_PLATFORM, currentPlatform);
        newForm.AddField(_TIME_VALUE, time);

        WWW request = new WWW(_PHP_SCRIPT_URL, newForm);

        yield return(request);

        if (request.error != null)
        {
            error("Не удалось отправить запрос на сервер");
        }
        else
        {
            try
            {
                Debug.Log(request.text);
                if (request.text == _PHP_SCRIPT_RETURN)
                {
                    complete();
                }
                else
                {
                    error(request.text);
                }
            }
            catch
            {
                error("Не удалось обработать ответ сервера");
                Debug.Log("Ошибка обработки ответа сервера. Данные ответа: " + request.text);
            }
        }
    }
Exemplo n.º 14
0
        public IEnumerator Get(String token, int plan_id, OnRequestComplete complete, OnRequestError error)
        {
            string          url     = routes.Single(u => u.Key == "plans").Value + '\\' + plan_id;
            UnityWebRequest request = UnityWebRequest.Get(url);

            request.SetRequestHeader("Accept", "application/json");
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + token);
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
            }
            else
            {
                String json = request.downloadHandler.text;
                complete(json);
            }
        }
Exemplo n.º 15
0
        public async ValueTask <HttpResponse> SendAsync(HttpRequestMessage message)
        {
            if (_rateLimiter != null)
            {
                await _rateLimiter.WaitAsync(
                    message.Method.Method,
                    message.RequestUri.ToString()
                    );
            }

            var response = await _client.SendAsync(message);

            var restResponse = new HttpResponse
            {
                HttpResponseMessage = response,
                Body    = await response.Content.ReadAsByteArrayAsync(),
                Success = response.IsSuccessStatusCode
            };

            if (restResponse.Success)
            {
                if (_rateLimiter != null)
                {
                    await _rateLimiter.OnRequestSuccessAsync(restResponse);
                }

                OnRequestComplete?.Invoke(
                    message.Method.Method,
                    message.RequestUri.AbsolutePath
                    );
            }

            if (_ensureSuccess)
            {
                response.EnsureSuccessStatusCode();
            }

            return(restResponse);
        }
Exemplo n.º 16
0
        public IEnumerator Me(string token, OnRequestComplete complete, OnRequestError error)
        {
            string url = routes.Single(route => route.Key == "me").Value;

            Debug.Log("ME AUTH TOKE = " + token);
            UnityWebRequest request = UnityWebRequest.Get(url);

            request.SetRequestHeader("Accept", "application/json");
            request.SetRequestHeader("Authorization", "Bearer " + token);
            Debug.Log("Auth token = " + token);
            request.method = UnityWebRequest.kHttpVerbGET;
            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
            }
            else
            {
                try {
                    String json = request.downloadHandler.text;
                    Debug.Log("JsonResponseLogin =" + json);
                    UserResponse response = JsonUtility.FromJson <UserResponse>(json);
                    if (response.success)
                    {
                        UserManager.instance.Login(response.data.firstname, response.data.lastname, response.data.email, response.data.state, response.data.zip, response.data.phone, response.data.id);
                        complete();
                    }
                    else
                    {
                        error(response.error.message);
                    }
                }
                catch (Exception ex) {
                    error(ex.ToString());
                }
            }
        }
        public delegate void OnRequestError(string code);    // Ошибка запроса

        public async Task <bool> sendRequest(string url, FormUrlEncodedContent data, OnRequestComplete complete, OnRequestError error)
        {
            /* Data Form Example */

            /*var formContent = new FormUrlEncodedContent(new[]{
             *  new KeyValuePair<string, string>("somekey", "1"),
             * });*/

            // Создаем клиент и отправляем запрос
            try{
                var myHttpClient = new HttpClient();                        // Создать клиент
                var response     = await myHttpClient.PostAsync(url, data); // Ждем ответа от сервера

                var json = await response.Content.ReadAsStringAsync();      // Получаем ответ от сервера для конверсии

                // Попытка обработки ответа сервера
                try{                                                                        // Успех
                    responceBase resp = JsonConvert.DeserializeObject <responceBase>(json); // Конверсия JSON
                    if (resp.complete)                                                      // Все прошло хорошо
                    {
                        complete(json);                                                     // Все прошло ОК
                        return(true);
                    }
                    else                     // Ошибка
                    {
                        error(resp.message); // Выдать ошибку
                        return(false);
                    }
                } catch (Exception ex) {                                                         // Ошибка
                    error("Failed to convert server responce. Please, try again later." + json); // Выдать ошибку
                    return(false);
                }
            } catch (Exception ex) {                                                                     // Ошибка отправки запроса
                error("Failed to send responce. Please, check your internet connection and try again."); // Выдать ошибку
                return(false);
            }
        }
Exemplo n.º 18
0
        public IEnumerator SignIn(string email, string password, OnRequestComplete complete, OnRequestError error)
        {
            string  url  = routes.Single(route => route.Key == "login").Value;
            WWWForm data = new WWWForm();

            data.AddField("email", email);
            data.AddField("password", password);

            UnityWebRequest request = UnityWebRequest.Post(url, data);

            yield return(request.SendWebRequest());

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
            }
            else
            {
                try {
                    String       json     = request.downloadHandler.text;
                    AuthResponse response = JsonUtility.FromJson <AuthResponse>(json);
                    if (response.success)
                    {
                        HttpManager.instance.token = response.data.access_token;
                        complete();
                    }
                    else
                    {
                        error(response.error.message);
                    }
                }
                catch (Exception ex) {
                    error(ex.ToString());
                }
            }
        }
Exemplo n.º 19
0
 public static WebRequest <List <BannerInfo> > GetBanner(OnRequestComplete <List <BannerInfo> > onComplete = null)
 {
     return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_BANNER_INFO), onComplete));
 }
Exemplo n.º 20
0
    public static WebRequest <bool> CheckAccount(string m_name, OnRequestComplete <bool> onComplete = null)
    {
        var accountInfo = new { name = m_name };

        return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_ACCOUNT_CHECK), accountInfo, onComplete));
    }
Exemplo n.º 21
0
    public static WebRequest BindAcount(int accId, string name, string password, string devId = "", OnRequestComplete onComplete = null)
    {
        var accountInfo = new
        {
            account  = accId,
            new_name = name,
            password = password.GetMD5()
        };

        return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_ACCOUNT_BIAND), accountInfo, onComplete));
    }
Exemplo n.º 22
0
 public static WebRequest <uint> Register(AccountInfo info, OnRequestComplete <uint> onComplete = null)
 {
     return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_REGISTER), info, onComplete));
 }
Exemplo n.º 23
0
 public static async void POST(string url, HttpContent data, OnRequestComplete complete, OnRequestError error)
 {
     await POSTAsync(url, data, complete, error);
 }
Exemplo n.º 24
0
 public static WebRequest <AccountData> Login(string username, string password, bool guest, OnRequestComplete <AccountData> onComplete = null)
 {
     if (guest)
     {
         return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_AUTH_GUEST), new { name = username }, onComplete));
     }
     return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_AUTH), new { name = username, password = password.GetMD5() }, onComplete));
 }
Exemplo n.º 25
0
 public static WebRequest <ServerStatus> GetServerStatus(OnRequestComplete <ServerStatus> onComplete = null)
 {
     return(WebRequestManager.Request(WebAPI.FullApiUrl(WebAPI.API_SERVER_STATUS), new { clientVersion = Launch.Updater.currentVersion }, onComplete));
 }
Exemplo n.º 26
0
            private void Client_OnEvent(string method, Newtonsoft.Json.Linq.JToken args)
            {
                Frame frame = null;

                switch (method)
                {
                case "Page.navigatedWithinDocument":
                    var newUrl = args["url"].ToString();
                    Frames.TryGetValue(args["frameId"].ToString(), out frame);
                    OnUrlChanged?.Invoke(newUrl, frame);
                    break;

                case "Page.frameNavigated":
                    frame            = args["frame"].ToObject <Frame>();
                    Frames[frame.id] = frame;
                    OnNavigated?.Invoke(frame);
                    break;

                case "Runtime.executionContextsCleared":
                    OnPageDestroyed?.Invoke();
                    IsScreencastStarted = false;
                    break;

                case "Page.frameStartedLoading":
                    OnStartedLoading?.Invoke(args["frameId"].ToString());
                    break;

                case "Page.loadEventFired":
                    OnLoaded?.Invoke();
                    break;

                case "Network.loadingFinished":
                    var reqId = args["requestId"].ToString();
                    if (Responses.TryGetValue(reqId, out Response resp))
                    {
                        OnRequestComplete?.Invoke(resp.Request, resp);
                    }
                    break;

                case "Network.responseReceived":
                    reqId = args["requestId"].ToString();
                    if (Requests.TryGetValue(reqId, out Request req))
                    {
                        Requests.Remove(reqId);
                    }
                    resp             = args["response"].ToObject <Response>();
                    resp.Request     = req;
                    resp.requestId   = reqId;
                    Responses[reqId] = resp;
                    // HACK: Chrome sucks and the response is not actually ready yet.
                    // OnRequestComplete?.Invoke(req, resp);
                    break;

                case "Network.requestWillBeSent":
                    reqId       = args["requestId"].ToString();
                    req         = args.ToObject <Request>();
                    req.frameId = args["frameId"].ToString();
                    Frames.TryGetValue(req.frameId, out req.Frame);
                    req.requestId   = reqId;
                    Requests[reqId] = req;
                    OnRequestStarted?.Invoke(req);
                    break;

                case "Page.screencastFrame":
                    var sessionId = (int)args["sessionId"];
                    var t         = Client.Send("Page.screencastFrameAck", new { sessionId });
                    MostRecentFrameBase64   = args["data"].ToString();
                    MostRecentFrameMetadata = args["metadata"].ToObject <ScreencastFrameMetadata>();
                    OnScreencastFrame?.Invoke(MostRecentFrameBase64, MostRecentFrameMetadata);
                    break;
                }
            }
Exemplo n.º 27
0
        public IEnumerator Register(string email, string password,
                                    string firstname, string lastname, string state, int zip,
                                    string phone, OnRequestComplete complete, OnRequestError error)
        {
            string url = routes.Single(route => route.Key == "register").Value;

            WWWForm regData = new WWWForm();

            regData.AddField("email", email);
            regData.AddField("password", password);
            regData.AddField("firstname", firstname);
            regData.AddField("lastname", lastname);
            regData.AddField("state", state);
            regData.AddField("zip", zip);
            regData.AddField("phone", phone);

            UnityWebRequest request = UnityWebRequest.Post(url, regData);

            request.SetRequestHeader("Accept", "application/json");
            //request.SetRequestHeader("Content-Type", "application/json");
            //request.method = UnityWebRequest.kHttpVerbPOST;
            Debug.Log(request);
            Debug.Log("url = " + url);
            Debug.Log("regData = " + regData);
            //request.SetRequestHeader("Accept", "application/json");
            yield return(request.SendWebRequest());

            //String json = request.downloadHandler.data;
            //Debug.Log(request.downloadHandler.text);

            if (request.isNetworkError || request.isHttpError)
            {
                error(request.error);
                error(request.downloadHandler.text);
            }
            else
            {
                try
                {
                    String json = request.downloadHandler.text;
                    Debug.Log("Register Repsonse JSON = " + json);
                    RegisterResponse response = JsonUtility.FromJson <RegisterResponse>(json);
                    if (response.success)
                    {
                        UserManager.instance.Login(
                            response.data.user.firstname,
                            response.data.user.lastname,
                            response.data.user.email,
                            response.data.user.state,
                            response.data.user.zip,
                            response.data.user.phone,
                            response.data.user.id);
                        HttpManager.instance.token = response.data.token;
                        complete();
                    }
                    else
                    {
                        error(json);
                        //error(response.error.message);
                    }
                }
                catch (Exception ex) {
                    Debug.Log("Found exception ");// + ex);
                    error(ex.ToString());
                }
            }
        }
Exemplo n.º 28
0
        public IEnumerator PagedRequest(int per_page, string api_path)
        {
            int      page         = 1;
            JSONNode data         = JSONNode.Parse("[]");
            string   response     = null;
            JSONNode responseJSON = null;

            do
            {
                UnityWebRequest request = UnityWebRequest.Get(API_URL + api_path + "&page=" + page + "&per_page=" + per_page);
                PrepareHeaders(request);
                yield return(VimeoApi.SendRequest(request));

                if (request.error != null)
                {
                    if (request.responseCode == 401)
                    {
                        SendError("401 Unauthorized request. Are you using a valid token?", request.downloadHandler.text);
                    }
                    else if (IsNetworkError(request))
                    {
                        Debug.LogError("[VimeoApi] It seems like you are not connected to the internet or are having connection problems.");
                        OnNetworkError?.Invoke(request.error);
                    }
                    else
                    {
                        if (page > 1)
                        {
                            // It's OK, make it the end of pages
                            Debug.LogWarning("[VimeoApi] Paged request error for url " + request.url + ", at page #" + page + ", error: " + request.error + ", " + request.downloadHandler.text);
                            break;
                        }
                        else
                        {
                            SendError(request.url + " - " + request.downloadHandler.text, request.downloadHandler.text);
                        }
                    }
                    yield break;
                }

                response     = request.downloadHandler.text;
                responseJSON = JSONNode.Parse(response);
                JSONNode pageData = responseJSON["data"];
                for (int i = 0; i < pageData.Count; i++)
                {
                    JSONNode element = pageData[i];
                    data.Add(element);
                }
                if (pageData.Count < per_page)
                {
                    break;
                }
                page++;
            }while (true);

            if (responseJSON != null)
            {
                responseJSON.Remove("data");
                responseJSON.Add("data", data);
            }
            OnRequestComplete?.Invoke(responseJSON.ToString());
        }
Exemplo n.º 29
0
 public static async void GET(string url, OnRequestComplete complete, OnRequestError error)
 {
     await GETAsync(url, complete, error);
 }