示例#1
0
        public NetworkMethod(string uri, string data, bool checkCeritifcates, NetworkEnumerators.RequestType type, NetworkEnumerators.NetworkMethod method)
        {
            _uri              = uri;
            _data             = data;
            _requestType      = type;
            _checkCertificate = checkCeritifcates;
            _method           = method;

            switch (method)
            {
            case NetworkEnumerators.NetworkMethod.WEB_REQUEST:
            {
                byte[] bytes = Encoding.UTF8.GetBytes(_data);

                if (_requestType == NetworkEnumerators.RequestType.GET)
                {
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbGET);
                }
                else
                {
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbPOST);
                }

                if (!string.IsNullOrEmpty(data))
                {
                    _webRequest.uploadHandler = new UploadHandlerRaw(bytes);
                }

                _webRequest.downloadHandler = new DownloadHandlerBuffer();
                _webRequest.SetRequestHeader("Content-Type", "application/json");
                _webRequest.chunkedTransfer = false;

                if (checkCeritifcates)
                {
#if UNITY_ANDROID
                    _webRequest.SetRequestHeader("X-Android-Package", NetworkConstants.PACKAGE_NAME);
                    _webRequest.SetRequestHeader("X-Android-Cert", NetworkConstants.KEY_SIGNATURE);
#elif UNITY_IOS
                    // need to check are they correct keys
                    // _webRequest.SetRequestHeader("X-IOS-Package", NetworkConstants.PACKAGE_NAME);
                    //  _webRequest.SetRequestHeader("X-IOS-Cert", NetworkConstants.KEY_SIGNATURE);
#endif
                }
            }
            break;

            default: break;
            }
        }
示例#2
0
        public NetworkMethod(string uri, string data, bool checkCeritifcates, NetworkEnumerators.RequestType type, NetworkEnumerators.NetworkMethod method)
        {
            _uri              = uri;
            _data             = data;
            _requestType      = type;
            _checkCertificate = checkCeritifcates;
            _method           = method;

            switch (method)
            {
            case NetworkEnumerators.NetworkMethod.WEB_REQUEST:
            {
                byte[] bytes = Encoding.UTF8.GetBytes(_data);

                switch (_requestType)
                {
                case NetworkEnumerators.RequestType.GET:
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbGET);
                    break;

                case NetworkEnumerators.RequestType.DELETE:
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbDELETE);
                    break;

                case NetworkEnumerators.RequestType.POST:
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbPOST);
                    break;

                case NetworkEnumerators.RequestType.CREATE:
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbCREATE);
                    break;

                case NetworkEnumerators.RequestType.PATCH:
                    _webRequest = new UnityWebRequest(uri, "PATCH");
                    break;

                case NetworkEnumerators.RequestType.PUT:
                    _webRequest = new UnityWebRequest(uri, UnityWebRequest.kHttpVerbPUT);
                    break;
                }

                if (!string.IsNullOrEmpty(data))
                {
                    _webRequest.uploadHandler = new UploadHandlerRaw(bytes);
                }

                _webRequest.downloadHandler = new DownloadHandlerBuffer();
                _webRequest.SetRequestHeader("Content-Type", "application/json");

                if (checkCeritifcates)
                {
#if UNITY_ANDROID
                    _webRequest.SetRequestHeader("X-Android-Package", NetworkConstants.PACKAGE_NAME);
                    _webRequest.SetRequestHeader("X-Android-Cert", NetworkConstants.KEY_SIGNATURE);
#endif
                }
            }
            break;

            default: break;
            }
        }