feat: add --template to render responses with a Go template#285
Open
jongio wants to merge 1 commit into
Open
Conversation
Add a --template flag that renders a JSON response through a Go text/template, so you can shape output into any text form (custom lines, env files, config snippets) without piping through jq or a separate templating step. The template runs after --query and takes precedence over --format, so you can narrow the response first and then render exactly what you want. Use @file to load the template from a file. Helper functions json, upper, lower, and join cover the common shaping needs. Invalid template syntax or a missing @file exits with code 2 before any request is made, so a typo fails fast instead of after a network call. A non-JSON body reports a clear error. Closes #279 Co-authored-by: Copilot App <[email protected]>
Contributor
|
🚀 Website Preview Your PR preview is ready! 📎 Preview URL: https://jongio.github.io/azd-rest/pr/285/ This preview will be automatically cleaned up when the PR is closed. |
Contributor
🚀 Test This PRA preview build ( One-Line Install (Recommended)PowerShell (Windows): iex "& { $(irm https://raw.githubusercontent.com/jongio/azd-rest/main/scripts/install-pr.ps1) } -PrNumber 285 -Version 0.5.0-pr285"Bash (macOS/Linux): curl -fsSL https://raw.githubusercontent.com/jongio/azd-rest/main/scripts/install-pr.sh | bash -s 285 0.5.0-pr285UninstallPowerShell (Windows): iex "& { $(irm https://raw.githubusercontent.com/jongio/azd-rest/main/scripts/uninstall-pr.ps1) } -PrNumber 285"Bash (macOS/Linux): curl -fsSL https://raw.githubusercontent.com/jongio/azd-rest/main/scripts/uninstall-pr.sh | bash -s 285Build Info:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds
--templateto render a JSON response through a Gotext/template. Closes #279.What it does
Renders the response body with a Go template so you can produce any text shape (custom lines, env files, config snippets) without piping through jq or a separate step.
--query, so you can narrow the response first, then render.--format.@fileloads the template from a file.json,upper,lower,join.@fileexits with code 2 before any request is made.Example
Tests
value[]rendering, helper functions,@fileload, invalid syntax exits 2, missing file exits 2, non-JSON error.--format, runs after--query, invalid template exits before any request.All Go gates pass locally (build, tests, golangci-lint, gosec, govulncheck, deadcode, cspell).