using BestHTTP; using Newtonsoft.Json; using System; using UnityEngine; public class Request { public int status { get; set; } private bool is_end = false; public bool get_id_end { get { return is_end; } } /// /// µ¥ÀÌÅ͸¦ ¼Û¼ö½ÅÇØ¾ßÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. send()´Â »ý¼ºÀ» ¸¶Ä¡°í ÀÚµ¿À¸·Î º¸³À´Ï´Ù. /// /// ¿ªÁ÷·ÄÈ­ÇÒ Å¸ÀÔ /// api ÁÖ¼Ò /// µ¥ÀÌÅÍ ¹ÞÀº ÈÄ Ã³¸®ÇÒ ÀýÂ÷ /// Àü¼ÛÇÒ µ¥ÀÌÅÍ, null·Î ³ÖÀ¸¸é ¾Èº¸³À´Ï´Ù. /// µ¿ÀÛ¹æ½Ä /// ¾Ïº¹È£È­ ÇÒ °ÍÀÎÁö /// ¿ªÁ÷·ÄÈ­µÈ µ¥ÀÌÅÍ or ±âº»°ª(¹Ýȯ ¹ÞÁö ¸øÇÔ) /// Json¿¡·¯°¡ ¹ß»ýÇÒ°æ¿ì packageManager > + > add package by name > name : com.unity.nuget.newtonsoft-json Ãß°¡ public HTTPRequest CreateRequest(Protocol protocol, Action onRequestFinished, object serializeData, HTTPMethods methods = HTTPMethods.Post, Action errorRequestFinished = null) { string API = $"{Statics.url}".Replace("\\p{Z}", String.Empty); #if UNITY_EDITOR Debug.Log(API); #endif var httpRquest = new HTTPRequest(new Uri(API) //url ³Ö±â , methods //µ¿ÀÛ ¹æ½Ä ³Ö±â , (request, response) => { if (response == null //¾Ë ¼ö ¾ø´Â ¹®Á¦ || (response.StatusCode < 200 && response.StatusCode > 299) //¼º°ø ¿Ü ¹Ýȯ || string.IsNullOrEmpty(response.DataAsText)) //¼­¹ö¿¡¼­ ¹Ýȯ µ¥ÀÌÅÍ ¾øÀ½ //|| response.DataAsText.Contains("error")) //¼­¹ö¿¡¼­ ó¸® Áß ¿¡·¯ ¹Ýȯ { Debug.LogError("status : " + response.StatusCode); if (errorRequestFinished != null) { errorRequestFinished(); } } else { #if UNITY_EDITOR Debug.Log(response.DataAsText); #endif T deSerialized = JsonConvert.DeserializeObject(response.DataAsText); onRequestFinished(deSerialized); } }); if (serializeData != null) { httpRquest.SetHeader("Content-Type", "application/json"); httpRquest.SetHeader("cmd", ((int)protocol).ToString()); string json = JsonConvert.SerializeObject(serializeData); #if UNITY_EDITOR Debug.Log($"{json.Substring(0, Mathf.Min(json.Length, 15000))}"); #endif httpRquest.RawData = System.Text.Encoding.UTF8.GetBytes(json); } httpRquest.Send(); return httpRquest; } }