Do not run custom header parsers on null header values (#678)
This commit is contained in:
parent
6c56f1df28
commit
e320755734
|
|
@ -176,18 +176,19 @@ namespace Microsoft.AspNetCore.Http
|
||||||
}
|
}
|
||||||
|
|
||||||
object temp;
|
object temp;
|
||||||
if (KnownParsers.TryGetValue(typeof(T), out temp))
|
|
||||||
{
|
|
||||||
var func = (Func<string, T>)temp;
|
|
||||||
return func(headers[name]);
|
|
||||||
}
|
|
||||||
|
|
||||||
var value = headers[name];
|
var value = headers[name];
|
||||||
|
|
||||||
if (StringValues.IsNullOrEmpty(value))
|
if (StringValues.IsNullOrEmpty(value))
|
||||||
{
|
{
|
||||||
return default(T);
|
return default(T);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (KnownParsers.TryGetValue(typeof(T), out temp))
|
||||||
|
{
|
||||||
|
var func = (Func<string, T>)temp;
|
||||||
|
return func(value);
|
||||||
|
}
|
||||||
|
|
||||||
return GetViaReflection<T>(value.ToString());
|
return GetViaReflection<T>(value.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -199,18 +200,19 @@ namespace Microsoft.AspNetCore.Http
|
||||||
}
|
}
|
||||||
|
|
||||||
object temp;
|
object temp;
|
||||||
if (KnownListParsers.TryGetValue(typeof(T), out temp))
|
|
||||||
{
|
|
||||||
var func = (Func<IList<string>, IList<T>>)temp;
|
|
||||||
return func(headers[name]);
|
|
||||||
}
|
|
||||||
|
|
||||||
var values = headers[name];
|
var values = headers[name];
|
||||||
|
|
||||||
if (StringValues.IsNullOrEmpty(values))
|
if (StringValues.IsNullOrEmpty(values))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (KnownListParsers.TryGetValue(typeof(T), out temp))
|
||||||
|
{
|
||||||
|
var func = (Func<IList<string>, IList<T>>)temp;
|
||||||
|
return func(values);
|
||||||
|
}
|
||||||
|
|
||||||
return GetListViaReflection<T>(values);
|
return GetListViaReflection<T>(values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue