protected async Task <string> InternalRequest(AbstractModel request, string actionName) { if ((this.Profile.HttpProfile.ReqMethod != HttpProfile.REQ_GET) && (this.Profile.HttpProfile.ReqMethod != HttpProfile.REQ_POST)) { throw new TencentCloudSDKException("Method only support (GET, POST)"); } HttpResponseMessage response = null; if (ClientProfile.SIGN_SHA1.Equals(this.Profile.SignMethod) || ClientProfile.SIGN_SHA256.Equals(this.Profile.SignMethod)) { response = await RequestV1(request, actionName); } else { response = await RequestV3(request, actionName); } var strResp = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode != HTTP_RSP_OK) { throw new TencentCloudSDKException(response.StatusCode + " " + strResp); } JsonResponseModel <JsonResponseErrModel> errResp = null; try { errResp = JsonConvert.DeserializeObject <JsonResponseModel <JsonResponseErrModel> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } if (errResp.Response.Error != null) { throw new TencentCloudSDKException($"code:{errResp.Response.Error.Code} message:{errResp.Response.Error.Message} ", errResp.Response.RequestId); } return(strResp); }
protected string InternalRequestSync(AbstractModel request, string actionName) { if ((this.Profile.HttpProfile.ReqMethod != HttpProfile.REQ_GET) && (this.Profile.HttpProfile.ReqMethod != HttpProfile.REQ_POST)) { throw new TencentCloudSDKException("Method only support (GET, POST)"); } HttpWebResponse response = null; if (ClientProfile.SIGN_SHA1.Equals(this.Profile.SignMethod) || ClientProfile.SIGN_SHA256.Equals(this.Profile.SignMethod)) { response = RequestV1Sync(request, actionName); } else { response = RequestV3Sync(request, actionName); } HttpStatusCode statusCode = response.StatusCode; if (statusCode != HttpStatusCode.OK) { Encoding encoding = Encoding.UTF8; using (Stream stream = response.GetResponseStream()) { using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding)) { string content = sr.ReadToEnd().ToString(); throw new TencentCloudSDKException(statusCode.ToString() + content); } } } string strResp = null; try { Encoding encoding = Encoding.UTF8; using (Stream stream = response.GetResponseStream()) { using (StreamReader sr = new StreamReader(response.GetResponseStream(), encoding)) { strResp = sr.ReadToEnd().ToString(); } } } catch (Exception ex) { string responseText = ex.Message; throw new TencentCloudSDKException($"The API responded with HTTP {responseText}"); } JsonResponseModel <JsonResponseErrModel> errResp = null; try { errResp = JsonConvert.DeserializeObject <JsonResponseModel <JsonResponseErrModel> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } if (errResp.Response.Error != null) { throw new TencentCloudSDKException($"code:{errResp.Response.Error.Code} message:{errResp.Response.Error.Message} ", errResp.Response.RequestId); } return(strResp); }