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.
Okay, so let me try to explain the changes.
jsx.render
method is called, we keep reference of the component and its props under thectx.response.lazyBody
array.ctx.response.writerMethod
method, which is set ofwriteJSX
.writeJSX
.This way, the streaming is deferred until the lifecycle of a request is completed. The behavior is same as the
response.send
method. https://github.com/adonisjs/http-server/blob/develop/src/Response/index.ts#L734However, I have noticed that the
jsx.render
method has two responsibilities right now. It can render a component to HTML without sending it in response and also it can send it as a response.I will recommend having a different methods for both use cases.
Lemme know if you have questions