in src/AlibabaCloud.OSS.V2/Internal/ClientImpl.cs [460:493]
private string BuildHostPath(ref OperationInput input, string baseUrl)
{
var paths = new List<string>();
var host = baseUrl;
if (input.Bucket != null)
{
switch (Options.AddressStyle)
{
case AddressStyleType.Path:
paths.Add(input.Bucket);
if (input.Key == null)
{
paths.Add("");
}
break;
case AddressStyleType.CName:
break;
case AddressStyleType.VirtualHosted:
default:
host = $"{input.Bucket}.{host}";
break;
}
}
if (input.Key != null)
{
paths.Add(input.Key.UrlEncodePath());
}
return $"{host}/{paths.JoinToString("/")}";
}