|
|
|
@ -15,12 +15,18 @@ namespace Volo.Abp.Http.Client.DynamicProxying
|
|
|
|
|
{
|
|
|
|
|
public static string GenerateUrlWithParameters(ActionApiDescriptionModel action, IReadOnlyDictionary<string, object> methodArguments, ApiVersionInfo apiVersion)
|
|
|
|
|
{
|
|
|
|
|
var urlBuilder = new StringBuilder(action.Url);
|
|
|
|
|
// The ASP.NET Core route value provider and query string value provider:
|
|
|
|
|
// Treat values as invariant culture.
|
|
|
|
|
// Expect that URLs are culture-invariant.
|
|
|
|
|
using (CultureHelper.Use(CultureInfo.InvariantCulture))
|
|
|
|
|
{
|
|
|
|
|
var urlBuilder = new StringBuilder(action.Url);
|
|
|
|
|
|
|
|
|
|
ReplacePathVariables(urlBuilder, action.Parameters, methodArguments, apiVersion);
|
|
|
|
|
AddQueryStringParameters(urlBuilder, action.Parameters, methodArguments, apiVersion);
|
|
|
|
|
ReplacePathVariables(urlBuilder, action.Parameters, methodArguments, apiVersion);
|
|
|
|
|
AddQueryStringParameters(urlBuilder, action.Parameters, methodArguments, apiVersion);
|
|
|
|
|
|
|
|
|
|
return urlBuilder.ToString();
|
|
|
|
|
return urlBuilder.ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void ReplacePathVariables(StringBuilder urlBuilder, IList<ParameterApiDescriptionModel> actionParameters, IReadOnlyDictionary<string, object> methodArguments, ApiVersionInfo apiVersion)
|
|
|
|
@ -128,15 +134,12 @@ namespace Volo.Abp.Http.Client.DynamicProxying
|
|
|
|
|
|
|
|
|
|
private static string ConvertValueToString([NotNull] object value)
|
|
|
|
|
{
|
|
|
|
|
using (CultureHelper.Use(CultureInfo.InvariantCulture))
|
|
|
|
|
if (value is DateTime dateTimeValue)
|
|
|
|
|
{
|
|
|
|
|
if (value is DateTime dateTimeValue)
|
|
|
|
|
{
|
|
|
|
|
return dateTimeValue.ToUniversalTime().ToString("u");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return value.ToString();
|
|
|
|
|
return dateTimeValue.ToUniversalTime().ToString("O");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return value.ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|