public static IEnumerator PostHttpRequest(object requestBody, HandleResponse handler)
{
string body = JsonUtils.ObjectToJson(requestBody);
byte[] rawData = Encoding.UTF8.GetBytes(body);
WWWForm form = new WWWForm();
Hashtable headers = form.headers;
headers["Content-Type"] = "application/json";
headers["Accept"] = "application/json";
//request的body有压缩
//headers["Content-Encoding"] = "gzip";
//客户端支持response body的压缩,接收到客户端的Accept-Encoding:gzip后,服务端根据实际情况对response的body进行gzip压缩
//headers["Accept-Encoding"] = "gzip";
WWW www = new WWW(url, rawData, headers);
yield return www;
if (www.error != null)
{
handler(new XHttpResponseObject { code = -32767, id = -32767, desc = www.error });
}
else
{
Dictionary responseHeader = www.responseHeaders;
XHttpResponseObject response = JsonUtils.JsonToObject(www.text);
handler(response);
}
}