Exemple #1
0
        public override Task Install(RestClient rc)
        {
            var extensibleRequest = rc.extensibleRequest;

            rc.extensibleRequest = async(httpRequestMessage, restRequestConfig) =>
            {
                if (!enabled)
                {
                    return(await extensibleRequest(httpRequestMessage, restRequestConfig));
                }

                BeforeRequest?.Invoke(this, httpRequestMessage);
                try
                {
                    var httpResponseMessage = await extensibleRequest(httpRequestMessage, restRequestConfig);

                    RequestSuccess?.Invoke(this, new HttpMessages
                    {
                        httpResponseMessage = httpResponseMessage,
                        httpRequestMessage  = httpRequestMessage
                    });
                    return(httpResponseMessage);
                }
                catch (RestException re)
                {
                    RequestError?.Invoke(this, re);
                    throw;
                }
            };
            return(Task.CompletedTask);
        }
        public IEnumerator SendRequestEnumerator(UnityWebRequest request, RequestSuccess onSuccess = null, RequestFail onFail = null)
        {
            using (UnityWebRequest webRequest = request) {
                yield return(webRequest.SendWebRequest());

                Logger.LogResponse(webRequest);

                string text = webRequest.downloadHandler.text;
                Logger.Verbose(text);
                if (webRequest.IsOk())
                {
                    onSuccess?.Invoke(text);
                }
                else
                {
                    onFail?.Invoke(text);
                }
            }
        }
Exemple #3
0
 public void SendRequest(UnityWebRequest request, RequestSuccess onSuccess = null, RequestFail onFail = null)
 {
     runner.StartCoroutine(SendRequestEnumerator(request, onSuccess, onFail));
 }