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); }