示例#1
0
        internal static void onRequestCompleted(bool ioFailure, HTTPRequestCompleted data)
        {
            uint handle = data.Request;
            uint dataSize;

            byte[] bodyData;
            string bodyString = null;
            bool   success    = false;

            if (data.StatusCode == HTTPStatusCode.OK)
            {
                if (HTTP.GetHTTPResponseBodySize(handle, out dataSize))
                {
                    bodyData = new byte[dataSize];
                    if (HTTP.GetHTTPResponseBodyData(handle, bodyData, dataSize))
                    {
                        bodyString = Encoding.UTF8.GetString(bodyData);
                        success    = true;
                        MySandboxGame.Log.WriteLine(string.Format("HTTP: Downloaded {0} bytes", dataSize));
                    }
                    else
                    {
                        MySandboxGame.Log.WriteLine(string.Format("HTTP: failed to read response body data, size = {0}", dataSize));
                    }
                }
                else
                {
                    MySandboxGame.Log.WriteLine("HTTP: failed to read response body size");
                }
            }
            else
            {
                MySandboxGame.Log.WriteLine(string.Format("HTTP: error {0}", data.StatusCode));
            }

            m_callbacks[handle](success, bodyString);
            m_callbacks.Remove(handle);
            HTTP.ReleaseHTTPRequest(handle);
        }
        internal static void onRequestCompleted(bool ioFailure, HTTPRequestCompleted data)
        {
            uint handle = data.Request;
            uint dataSize;
            byte[] bodyData;
            string bodyString = null;
            bool success = false;

            if (data.StatusCode == HTTPStatusCode.OK)
            {
                if (HTTP.GetHTTPResponseBodySize(handle, out dataSize))
                {
                    bodyData = new byte[dataSize];
                    if (HTTP.GetHTTPResponseBodyData(handle, bodyData, dataSize))
                    {
                        bodyString = Encoding.UTF8.GetString(bodyData);
                        success = true;
                        MySandboxGame.Log.WriteLine(string.Format("HTTP: Downloaded {0} bytes", dataSize));
                    }
                    else
                    {
                        MySandboxGame.Log.WriteLine(string.Format("HTTP: failed to read response body data, size = {0}", dataSize));
                    }
                }
                else
                {
                    MySandboxGame.Log.WriteLine("HTTP: failed to read response body size");
                }
            }
            else
            {
                MySandboxGame.Log.WriteLine(string.Format("HTTP: error {0}", data.StatusCode));
            }

            m_callbacks[handle](success, bodyString);
            m_callbacks.Remove(handle);
            HTTP.ReleaseHTTPRequest(handle);
        }