Example #1
0
 public CMessage(EMessageType Type, ERequestType RqsType, EDataType DataType, string Data) : this()
 {
     this.Type     = Type;
     this.RqsType  = RqsType;
     this.DataType = DataType;
     this.Data     = Data;
 }
Example #2
0
        /// <summary>
        /// Send query asynchronous
        /// </summary>
        /// <param name="requestType">Request type</param>
        private void SendQueryAsync(ERequestType requestType)
        {
            int index = (int)requestType;

            threads[index] = new Thread(() => SendQuery(requestType));
            requestsRequired.SetLastRequestTime(requestType);
            threads[index].Start();
        }
Example #3
0
 internal Request(string fileName, EResourceType resourceType, ResourceManager.UnloadLevelFinishEventHandle handle, ERequestType requestType, ResourceAsyncOperation operation)
 {
     mFileName               = fileName;
     mResourceType           = resourceType;
     mHandleUnloadLevel      = handle;
     mRequestType            = requestType;
     mResourceAsyncOperation = operation;
 }
Example #4
0
        // Token: 0x0600187B RID: 6267 RVA: 0x0008986C File Offset: 0x00087C6C
        public IWebRequestHandle createRequest(string url, ERequestType requestType, WebRequestReadyCallback webRequestReadyCallback)
        {
            HTTPRequestHandle          newHTTPRequestHandle       = SteamHTTP.CreateHTTPRequest((requestType != ERequestType.GET) ? EHTTPMethod.k_EHTTPMethodPOST : EHTTPMethod.k_EHTTPMethodGET, url);
            SteamworksWebRequestHandle steamworksWebRequestHandle = new SteamworksWebRequestHandle(newHTTPRequestHandle, webRequestReadyCallback);

            this.steamworksWebRequestHandles.Add(steamworksWebRequestHandle);
            return(steamworksWebRequestHandle);
        }
Example #5
0
        /// <summary>
        /// Send query when expired
        /// </summary>
        /// <param name="requestType">Request type</param>
        /// <param name="milliseconds">Milliseconds</param>
        public void SendQueryWhenExpired(ERequestType requestType, uint milliseconds)
        {
            uint t = (uint)(DateTime.Now.Subtract(requestsRequired.GetLastRequestTime(requestType)).TotalMilliseconds);

            if (t >= milliseconds)
            {
                SendQueryAsync(requestType);
            }
        }
Example #6
0
 internal ResourceAsyncOperation(ERequestType requestType)
 {
     mRequestType = requestType;
     mAllDependenciesAssetSize    = 0; // 需要加载的资源总大小
     mLoadedDependenciesAssetSize = 0;
     mComplete      = false;
     asyncOperation = null;
     mResource      = null;
 }
Example #7
0
        /// <summary>
        /// Send query when required
        /// </summary>
        /// <param name="requestType">Request type</param>
        /// <returns>Success</returns>
        private bool SendQueryWhenRequired(ERequestType requestType)
        {
            bool ret = true;

            if (requestsRequired[requestType])
            {
                ret = SendQuery(requestType);
            }
            return(ret);
        }
Example #8
0
 /// <summary>
 /// Abort thread
 /// </summary>
 /// <param name="requestType"></param>
 private void AbortThread(ERequestType requestType)
 {
     lock (threads)
     {
         int index = (int)requestType;
         if (threads[index] != null)
         {
             threads[index].Abort();
             threads[index] = null;
         }
     }
 }
Example #9
0
 /// <summary>
 /// Array element access operator
 /// </summary>
 /// <param name="requestType">Request type</param>
 /// <returns>Request required</returns>
 public bool this[ERequestType requestType]
 {
     get
     {
         return(values[(int)requestType]);
     }
     set
     {
         if (available[(int)requestType])
         {
             values[(int)requestType] = value;
         }
     }
 }
Example #10
0
        public static RequestResult GetPage(string Uri, string UriReferer, ERequestType Method, string Params)
        {
            List <string> newParams = new List <string>();

            Params = Params.Trim();
            if (Params.Length > 0)
            {
                foreach (string splitPair in Params.Split('&'))
                {
                    newParams.AddRange(splitPair.Split('='));
                }
            }

            return(GetPage(Uri, UriReferer, Method, newParams));
        }
Example #11
0
    public void initializeFriendsController(ERequestType requestType, List <object> gameFriends, EFriendsType friendType)
    {
        switch (requestType)
        {
        case ERequestType.ASK_KEYS:
            initializeFriendsController(gameFriends, friendType);
            currentRequestType = requestType;
            break;

        case ERequestType.ASK_LIFES:
            initializeFriendsController(gameFriends, friendType);
            currentRequestType = requestType;
            break;
        }
    }
Example #12
0
        public async Task <IActionResult> Index(ERequestType requestType)
        {
            var response = await _targetService.CallTargetService(requestType);

            var responseContent = JsonSerializer.Deserialize <ResponseModel>(response.Content.ReadAsStringAsync().Result,
                                                                             new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            });

            if (response.StatusCode == HttpStatusCode.OK)
            {
                return(Ok(responseContent));
            }

            return(BadRequest(responseContent));
        }
Example #13
0
        public static RequestResult GetPage(string Uri, string UriReferer, ERequestType Method, List <string> Params)
        {
            RequestHelper mClient;

            mClient      = new RequestHelper(Uri, UriReferer);
            mClient.Type = Method;
            if (Cookies != null)
            {
                mClient.Cookies.Add(Cookies);
            }
            for (int i = 0; i < Params.Count; i += 2)
            {
                mClient.RequestUrlValues.Add(Params[i], Params[i + 1]);
            }

            return(mClient.Request());
        }
Example #14
0
        private void Throttle(ERequestType RequestType)
        {
            DateTime Timestamp = DateTime.Now;

            if (this.Timings.ContainsKey(RequestType))
            {
                Tuple <int, int, int, int> Response = this.Timings[RequestType].Pour();
                Task.Run(() =>
                {
                    this.OnCallThrottle(RequestType, Timestamp, Response.Item1, Response.Item2, Response.Item3, Response.Item4);
                });
            }
            else
            {
                throw new NotImplementedException($"Error, the request type [{RequestType}] has not yet been implemented properly into the leaky bucket system!");
            }
        }
Example #15
0
    public void openFriendsRequestPanel(ERequestType requestType, EFriendsType friendsType = EFriendsType.ALL)
    {
        checkImageExist(friendsType);

        allFriendsSR.normalizedPosition  = Vector2.zero;
        gameFriendsSR.normalizedPosition = Vector2.zero;

        switch (requestType)
        {
        case ERequestType.ASK_KEYS:
            requestText.text   = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.BOSS_LOCKED_KEY_TEXT);
            currentRequestType = requestType;
            break;

        case ERequestType.ASK_LIFES:
            requestText.text   = MultiLanguageTextManager.instance.getTextByID(MultiLanguageTextManager.FULL_LIFES_POPUP_BUTTON);
            currentRequestType = requestType;
            break;
        }
    }
Example #16
0
        /// <summary>
        /// Send query
        /// </summary>
        /// <param name="requestType">Request type</param>
        /// <returns>Success</returns>
        private bool SendQuery(ERequestType requestType)
        {
            bool ret = false;

            requestsRequired.SetLastRequestTime(requestType);
            try
            {
                EndPoint endpoint = new IPEndPoint(IPAddress, Port);
                using (MemoryStream stream = new MemoryStream())
                {
                    using (BinaryWriter writer = new BinaryWriter(stream))
                    {
                        char op_code = RequestsRequired.GetOpCode(requestType);
                        writer.Write("SAMP".ToCharArray());
                        writer.Write(ipv4AddressUInt);
                        writer.Write(port);
                        writer.Write(op_code);
                        if (op_code == 'p')
                        {
                            Random r = new Random();
                            r.NextBytes(randomNumbers);
                            writer.Write(randomNumbers);
                        }
                        timestamp[0] = DateTime.Now;
                    }
                    if (socket.SendTo(stream.ToArray(), endpoint) > 0)
                    {
                        ret = true;
                        Receive();
                    }
                }
            }
            catch
            {
                //
            }
            return(ret);
        }
Example #17
0
 /// <summary>
 /// Get last request time
 /// </summary>
 /// <param name="requestType">Request type</param>
 /// <returns>Last request time</returns>
 public DateTime GetLastRequestTime(ERequestType requestType)
 {
     return(lastRequestTime[(int)requestType]);
 }
Example #18
0
 protected void Throttle(ERequestType RequestType)
 {
     this._ThrottleRequest(RequestType);
 }
Example #19
0
 /// <summary>
 /// Get operation code
 /// </summary>
 /// <param name="requestType">Request type</param>
 /// <returns>Operation code</returns>
 public static char GetOpCode(ERequestType requestType)
 {
     return(opCodes[(int)requestType]);
 }
Example #20
0
        public static async Task <T> RequestInternalJson <T>(string request, object requestData, AuthTokens token = null, ERequestType type = ERequestType.POST, string apiString = "https://chat.apianon.ru/")
        {
            string resultQuerry = apiString + request;

            //var httpRequestMessage = new HttpRequestMessage()
            //{
            //    RequestUri = new Uri(resultQuerry),
            //    Headers = {
            //        { "X-Auth-Token", token.Token },
            //        { "X-User-Id", token.UserId },
            //    }

            //};

            //switch(type)
            //{
            //    case ERequestType.GET:
            //        httpRequestMessage.Method = HttpMethod.Get;
            //        break;
            //    case ERequestType.POST:
            //    default:
            //        httpRequestMessage.Content = new StringContent(JsonConvert.SerializeObject(requestData));
            //        httpRequestMessage.Method = HttpMethod.Post;
            //        break;
            //}


            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            if (token != null)
            {
                client.DefaultRequestHeaders.Add("X-Auth-Token", token.Token);
                client.DefaultRequestHeaders.Add("X-User-Id", token.UserId);
                //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token);
            }
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            var json = JsonConvert.SerializeObject(requestData);
            var data = new StringContent(json, Encoding.UTF8, "application/json");


            HttpResponseMessage response = new HttpResponseMessage();

            switch (type)
            {
            case ERequestType.GET:
                response = await client.GetAsync(resultQuerry);

                break;

            case ERequestType.POST:
            default:
                response = await client.PostAsync(resultQuerry, data);

                break;
            }

            string result = response.Content.ReadAsStringAsync().Result;
            T      resp   = JsonConvert.DeserializeObject <T>(result);

            client.DefaultRequestHeaders.Clear();
            return(resp);
        }
Example #21
0
 /// <summary>
 /// Lock
 /// </summary>
 /// <param name="requestType">Request type</param>
 public void Lock(ERequestType requestType)
 {
     available[(int)requestType] = false;
     values[(int)requestType]    = false;
 }
Example #22
0
 /// <summary>
 /// Is data fetched
 /// </summary>
 /// <param name="requestType">Request type</param>
 /// <returns>Data fetched</returns>
 public bool IsDataFetched(ERequestType requestType)
 {
     return(!(requestsRequired[requestType]));
 }
Example #23
0
 private void OnCallThrottleLog(ERequestType RequestType, DateTime CurrentTimestamp, int BucketCount, int MaxRequestQuota, int RestoreCount, int RestorePeriod)
 {
     Console.WriteLine($"Throttle Request: {RequestType,20}\tTimestamp: {CurrentTimestamp.ToString(),10}\tBucket/Quota: {BucketCount}/{MaxRequestQuota}\tRestore Count/Period: {RestoreCount}/{RestorePeriod}ms");
 }
Example #24
0
 //todo
 public ClientRequest(string userId, ERequestType type)
 {
     this.UserId = userId;
     this.Type   = type;
 }
Example #25
0
 internal AmazonCallAttribute(ERequestType RequestType)
 {
     this.RequestType = RequestType;
 }
Example #26
0
 /// <summary>
 /// Fetch data asynchronous
 /// </summary>
 /// <param name="requestType">Request type</param>
 public void FetchDataAsync(ERequestType requestType)
 {
     AbortThread(requestType);
     requestsRequired[requestType] = true;
     SendQueryAsync(requestType);
 }
Example #27
0
 public CMessage(EMessageType Type, ERequestType RqsType) : this()
 {
     this.Type    = Type;
     this.RqsType = RqsType;
 }
Example #28
0
 /// <summary>
 /// Set last request time
 /// </summary>
 /// <param name="requestType">Request type</param>
 public void SetLastRequestTime(ERequestType requestType)
 {
     lastRequestTime[(int)requestType] = DateTime.Now;
 }
Example #29
0
        public async Task <HttpResponseMessage> CallTargetService(ERequestType requestType)
        {
            return(await _httpClient.GetAsync($"/?type={(int)requestType}"));

            // return JsonSerializer.Deserialize<ResponseModel>(result, new JsonSerializerOptions(){PropertyNameCaseInsensitive = true});
        }
        private static DefaultResponse Request(ERequestType requestType, byte[] file = null)
        {
            string responseString = "";

            string entityUrl      = ParamConfig.URL_BASE + (file != null ? ParamConfig.PostUrl : ParamConfig.GetUrl) + ParamConfig.TOKEN;
            var    httpWebRequest = WebRequest.Create(entityUrl);

            httpWebRequest.Method = requestType.ToString().ToUpper();

            if (file != null)
            {
                httpWebRequest.ContentType   = "multipart/form-data";
                httpWebRequest.ContentLength = file.Length;
                Stream dataStream = httpWebRequest.GetRequestStream();
                dataStream.Write(file, 0, file.Length);
                dataStream.Close();
            }
            else
            {
                httpWebRequest.ContentType = "application/json";
            }

            ServicePointManager.Expect100Continue = false;
            ServicePointManager.SecurityProtocol  = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
            ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            try
            {
                using (var response = (HttpWebResponse)httpWebRequest.GetResponse())
                {
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        using (StreamReader streamReader = new StreamReader(responseStream))
                        {
                            responseString = streamReader.ReadToEnd();
                            return(new DefaultResponse()
                            {
                                status = EStatus.SUCCESS,
                                response = JsonConvert.DeserializeObject <ResponseObject>(responseString)
                            });
                        }
                    }
                }
            }
            catch (Exception e)
            {
                if (e is WebException webException)
                {
                    if (webException.Response != null)
                    {
                        using (var errorResponse = (HttpWebResponse)webException.Response)
                            using (var reader = new StreamReader(errorResponse.GetResponseStream()))
                            {
                                string error = reader.ReadToEnd();
                                return(new DefaultResponse()
                                {
                                    status = EStatus.ERROR,
                                    response = JsonConvert.DeserializeObject <ResponseObject>(responseString)
                                });
                            }
                    }
                }
                throw e;
            }
        }