feat(server): decouple request and response encoding in resource manager #2520
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.
This PR splits the request and response encoding in resource manager. This allows for clients to do requests in one format but expect the response to be in another.
This is useful for example in the CLI, where the client issues a request with a body in YAML format, from the contents of a user created yaml definition file), but then it needs to parse the response to beautify it. Also the user can request the output to be in json.
Instead of having the client manipulate responses, it can just configure the requests with standard http headers.
This reduction in manipulation along the pipeline reduces the need for client code, and reduces the chances of inconsistencies in formats.
Example
Request:
Response:
Notes
Content-Type
header and the response will fallback to the same content type as the request,Content-Type
orAccept
header can be used alone, resulting in the previously described behaviour.Checklist