fix(meta): remove runtime.HttpBodyMarshaler
from gateway stack
#1277
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes FLI-176
This fixes the case where the
/meta
prefixed endpoints would return500
(and panic server-side) when authentication was required and no authentication was provided.Additionally, this only occurred when the
Accept
header was explicitly set toapplication/json
.The accept header caused the
HttpBodyMarshaler
to be invoked. When authentication was not provided, the resulting body was an error and not the expectedHttpBody
instance. This marshaller was fallback to an embedded marshaller in this instance. This wasn't being set and was thereforenil
, causing a panic at runtime.Update: After reflecting on the behaviour that this only failed when the
Accept
header was presented, I looked into whether you need to explicitly set theHttpBodyMarshaler
and it turns out you don't.The Marshal stack handles the presence of
HttpBody
without it.In 8d2f433 I drop them altogether and it behaves as it should.