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;
|
||||
if (KnownParsers.TryGetValue(typeof(T), out temp))
|
||||
{
|
||||
var func = (Func<string, T>)temp;
|
||||
return func(headers[name]);
|
||||
}
|
||||
|
||||
var value = headers[name];
|
||||
|
||||
if (StringValues.IsNullOrEmpty(value))
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
|
||||
if (KnownParsers.TryGetValue(typeof(T), out temp))
|
||||
{
|
||||
var func = (Func<string, T>)temp;
|
||||
return func(value);
|
||||
}
|
||||
|
||||
return GetViaReflection<T>(value.ToString());
|
||||
}
|
||||
|
||||
|
|
@ -199,18 +200,19 @@ namespace Microsoft.AspNetCore.Http
|
|||
}
|
||||
|
||||
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];
|
||||
|
||||
if (StringValues.IsNullOrEmpty(values))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (KnownListParsers.TryGetValue(typeof(T), out temp))
|
||||
{
|
||||
var func = (Func<IList<string>, IList<T>>)temp;
|
||||
return func(values);
|
||||
}
|
||||
|
||||
return GetListViaReflection<T>(values);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue