Add configurable base64 encoding for Cloud Tasks request bodies #161
+109
−27
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.
Proposal
This PR introduces a new configuration option that allows users to conditionally apply base64 encoding to Cloud Tasks request bodies. Previously, base64 encoding was always applied, but this may not be necessary or desired in all environments.
Motivation
Having request bodies base64 encoded by default makes the debugging in the GCP console very inconvenient, as one cannot view a task's request body without an additional decoding step (see attachments). This slows down teams and in addition reduces the flexibility that the official google-cloud-tasks gem provides. Since teams are in control of the Tasks' request bodies, why not giving them the ability to decide whether they should be base64 encoded, especially if they aware that they are not providing request bodies consisting of non-ascii characters.
Usage
To disable base64 encoding:
Attachments