in src/AlibabaCloud.OSS.V2/Transform/Functions.cs [18:46]
public static void SerializeInput(
Models.RequestModel request,
ref OperationInput input,
params CustomSerializer[] customSerializer
)
{
// Headers
if (input.Headers == null && request.Headers.Any())
input.Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
foreach (var h in request.Headers) input.Headers![h.Key] = h.Value;
// Parameters
if (input.Parameters == null && request.Parameters.Any()) input.Parameters = new Dictionary<string, string>();
foreach (var h in request.Parameters) input.Parameters![h.Key] = h.Value;
// body
if (request.InnerBody != null)
input.Body = request.BodyFormat switch
{
"xml" => new MemoryStream(Encoding.UTF8.GetBytes(SerializeXml(request.InnerBody))),
_ => request.InnerBody as Stream ??
throw new NotImplementedException($"not support body type '{request.BodyFormat}'")
};
// custom serializer
foreach (var serializer in customSerializer) serializer(ref request, ref input);
}