diff options
Diffstat (limited to 'internal/accept/accept.go')
| -rw-r--r-- | internal/accept/accept.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/accept/accept.go b/internal/accept/accept.go index 5ed6e66..c23905a 100644 --- a/internal/accept/accept.go +++ b/internal/accept/accept.go @@ -103,6 +103,11 @@ func (h Header) Negotiate(mediaTypes ...string) Option[string] { return None[string]() } + // if nothing was offered, we default to our own preferred option + if len(h.options) == 0 { + return Some(offers[0].OriginalValue) + } + // NOTE: ParseHeader() sorts options by descending weight, so the first match wins. for _, opt := range h.options { MEDIATYPE: @@ -128,5 +133,5 @@ func (h Header) Negotiate(mediaTypes ...string) Option[string] { } } - return Some(offers[0].OriginalValue) + return None[string]() } |
