Truncate large response body in legacy sandbox #1034
Merged
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.
Issue
When setting up the legacy sandbox, the response buffer is, by default, converted to a string to support the global variable
responseBody
. This negatively affects the script execution performance for consumers who are not even consuming this value.Fix
The ideal fix for this would be to lazily initialize
responseBody
through a getter, but due to how Uniscope is implemented, it is not possible to achieve that without a significant refactoring there (TLDR; the getter would get called at multiple places inside Uniscope).The second best approach is to truncate the
responseBody
if it is too large (50MB). Since this is a deprecated syntax, users can (and should) usepm.response.text()
for their requirements.