Merge pull request #8599 from abpframework/maliming/patch-1

Use IOS 8601 as datetime format in querystring and InvariantCulture route.
pull/8640/head^2
Halil İbrahim Kalkan 5 years ago committed by GitHub
commit d1421f406d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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();
}
}
}

@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Volo.Abp.Http.Modeling;
using Volo.Abp.Localization;
namespace Volo.Abp.Http.ProxyScripting.Generators
{
@ -11,10 +13,16 @@ namespace Volo.Abp.Http.ProxyScripting.Generators
public static string GenerateUrlWithParameters(ActionApiDescriptionModel action)
{
//TODO: Can be optimized using StringBuilder?
var url = ReplacePathVariables(action.Url, action.Parameters);
url = AddQueryStringParameters(url, action.Parameters);
return 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))
{
//TODO: Can be optimized using StringBuilder?
var url = ReplacePathVariables(action.Url, action.Parameters);
url = AddQueryStringParameters(url, action.Parameters);
return url;
}
}
public static string GenerateHeaders(ActionApiDescriptionModel action, int indent = 0)

Loading…
Cancel
Save