Skip to content
This repository was archived by the owner on Dec 14, 2018. It is now read-only.
This repository was archived by the owner on Dec 14, 2018. It is now read-only.

Fix quality factor handling (NRE in MediaTypeWithQualityHeaderValueComparer) #1141

@kevinchalet

Description

@kevinchalet

When returning negotiable content, an exception is thrown in MediaTypeWithQualityHeaderValueComparer.CompareBasedOnQualityFactor if the Accept header contains a quality factor:

GET http://localhost:49376/ HTTP/1.1
Accept: text/html, application/xhtml+xml;q=0.9
Host: localhost:49376

System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à Microsoft.AspNet.Mvc.MediaTypeWithQualityHeaderValueComparer.CompareBasedOnQualityFactor(MediaTypeWithQualityHeaderValue mediaType1, MediaTypeWithQualityHeaderValue mediaType2)
à Microsoft.AspNet.Mvc.MediaTypeWithQualityHeaderValueComparer.Compare(MediaTypeWithQualityHeaderValue mediaType1, MediaTypeWithQualityHeaderValue mediaType2)
à System.Linq.EnumerableSorter`2.CompareKeys(Int32 index1, Int32 index2)
à System.Linq.EnumerableSorter`1.QuickSort(Int32[] map, Int32 left, Int32 right)
à System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
à System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
à System.Linq.Buffer`1..ctor(IEnumerable`1 source)
à System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
à Microsoft.AspNet.Mvc.ObjectResult.SortMediaTypeWithQualityHeaderValues(IEnumerable`1 headerValues)
à Microsoft.AspNet.Mvc.ObjectResult.SelectFormatter(OutputFormatterContext formatterContext, IEnumerable`1 formatters)
à Microsoft.AspNet.Mvc.JsonResult.SelectFormatter(OutputFormatterContext formatterContext)
à Microsoft.AspNet.Mvc.JsonResult.<ExecuteResultAsync>d__1.MoveNext()

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions