alibabacloud-gateway-dingtalk/csharp/core/Client.cs (176 lines of code) (raw):
// This file is auto-generated, don't edit it. Thanks.
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Tea;
using Tea.Utils;
namespace AlibabaCloud.GatewayDingTalk
{
public class Client : AlibabaCloud.GatewaySpi.Client
{
public Client(): base()
{
}
public void ModifyConfiguration(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
}
public async Task ModifyConfigurationAsync(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
}
public void ModifyRequest(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextRequest request = context.Request;
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextConfiguration config = context.Configuration;
request.Headers = TeaConverter.merge<string>
(
new Dictionary<string, string>()
{
{"host", config.Endpoint},
{"user-agent", request.UserAgent},
{"accept", "application/json"},
},
request.Headers
);
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Body))
{
string jsonObj = AlibabaCloud.TeaUtil.Common.ToJSONString(request.Body);
request.Stream = TeaCore.BytesReadable(jsonObj);
request.Headers["content-type"] = "application/json; charset=utf-8";
}
}
public async Task ModifyRequestAsync(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextRequest request = context.Request;
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextConfiguration config = context.Configuration;
request.Headers = TeaConverter.merge<string>
(
new Dictionary<string, string>()
{
{"host", config.Endpoint},
{"user-agent", request.UserAgent},
{"accept", "application/json"},
},
request.Headers
);
if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Body))
{
string jsonObj = AlibabaCloud.TeaUtil.Common.ToJSONString(request.Body);
request.Stream = TeaCore.BytesReadable(jsonObj);
request.Headers["content-type"] = "application/json; charset=utf-8";
}
}
public void ModifyResponse(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextRequest request = context.Request;
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextResponse response = context.Response;
if (AlibabaCloud.TeaUtil.Common.Is4xx(response.StatusCode) || AlibabaCloud.TeaUtil.Common.Is5xx(response.StatusCode))
{
object _res = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
Dictionary<string, object> err = AlibabaCloud.TeaUtil.Common.AssertAsMap(_res);
err["statusCode"] = response.StatusCode;
throw new TeaException(new Dictionary<string, object>
{
{"code", "" + DefaultAny(err.Get("Code"), err.Get("code"))},
{"message", "code: " + response.StatusCode + ", " + DefaultAny(err.Get("Message"), err.Get("message")) + " request id: " + DefaultAny(err.Get("RequestId"), err.Get("requestid"))},
{"data", err},
{"description", "" + DefaultAny(err.Get("Description"), err.Get("description"))},
{"accessDeniedDetail", DefaultAny(err.Get("AccessDeniedDetail"), err.Get("accessdenieddetail"))},
});
}
if (AlibabaCloud.TeaUtil.Common.EqualNumber(response.StatusCode, 204))
{
AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "binary"))
{
response.DeserializedBody = response.Body;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "byte"))
{
byte[] byt = AlibabaCloud.TeaUtil.Common.ReadAsBytes(response.Body);
response.DeserializedBody = byt;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "string"))
{
string str = AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
response.DeserializedBody = str;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "json"))
{
object obj = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
Dictionary<string, object> res = AlibabaCloud.TeaUtil.Common.AssertAsMap(obj);
response.DeserializedBody = res;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "array"))
{
object arr = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
response.DeserializedBody = arr;
}
else
{
response.DeserializedBody = AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
}
}
public async Task ModifyResponseAsync(AlibabaCloud.GatewaySpi.Models.InterceptorContext context, AlibabaCloud.GatewaySpi.Models.AttributeMap attributeMap)
{
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextRequest request = context.Request;
AlibabaCloud.GatewaySpi.Models.InterceptorContext.InterceptorContextResponse response = context.Response;
if (AlibabaCloud.TeaUtil.Common.Is4xx(response.StatusCode) || AlibabaCloud.TeaUtil.Common.Is5xx(response.StatusCode))
{
object _res = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
Dictionary<string, object> err = AlibabaCloud.TeaUtil.Common.AssertAsMap(_res);
err["statusCode"] = response.StatusCode;
throw new TeaException(new Dictionary<string, object>
{
{"code", "" + DefaultAny(err.Get("Code"), err.Get("code"))},
{"message", "code: " + response.StatusCode + ", " + DefaultAny(err.Get("Message"), err.Get("message")) + " request id: " + DefaultAny(err.Get("RequestId"), err.Get("requestid"))},
{"data", err},
{"description", "" + DefaultAny(err.Get("Description"), err.Get("description"))},
{"accessDeniedDetail", DefaultAny(err.Get("AccessDeniedDetail"), err.Get("accessdenieddetail"))},
});
}
if (AlibabaCloud.TeaUtil.Common.EqualNumber(response.StatusCode, 204))
{
AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "binary"))
{
response.DeserializedBody = response.Body;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "byte"))
{
byte[] byt = AlibabaCloud.TeaUtil.Common.ReadAsBytes(response.Body);
response.DeserializedBody = byt;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "string"))
{
string str = AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
response.DeserializedBody = str;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "json"))
{
object obj = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
Dictionary<string, object> res = AlibabaCloud.TeaUtil.Common.AssertAsMap(obj);
response.DeserializedBody = res;
}
else if (AlibabaCloud.TeaUtil.Common.EqualString(request.BodyType, "array"))
{
object arr = AlibabaCloud.TeaUtil.Common.ReadAsJSON(response.Body);
response.DeserializedBody = arr;
}
else
{
response.DeserializedBody = AlibabaCloud.TeaUtil.Common.ReadAsString(response.Body);
}
}
public object DefaultAny(object inputValue, object defaultValue)
{
if (AlibabaCloud.TeaUtil.Common.IsUnset(inputValue))
{
return defaultValue;
}
return inputValue;
}
}
}