Skip to content

fix(env): compose profile URLs and repeated header overrides correctly - #37

Open
rupayon123 wants to merge 3 commits into
kavix:mainfrom
rupayon123:contribution/environment-composition-20260911
Open

rupayon123 wants to merge 3 commits into
kavix:mainfrom
rupayon123:contribution/environment-composition-20260911

Conversation

@rupayon123

@rupayon123 rupayon123 commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Problem and change

Environment profiles could leave stale duplicate headers after a CLI override and silently corrupt endpoint URLs when the configured base contained a query or fragment.

Replace every profile value for an overridden header name, case-insensitively, while retaining all explicitly supplied CLI values and the existing first-slot ordering. Compose URL paths through net/url; preserve the base query unless the request supplies one, and apply request fragments separately. Escaped slashes remain escaped.

Validation

Both regression groups failed before their fixes. Tests cover repeated profile/CLI headers, unchanged profile input, base/request query strings, empty explicit queries, fragments, query-only references and escaped slashes. Full env -u NO_COLOR go test ./..., go vet ./..., formatting and diff checks pass. golangci-lint is unavailable locally; remote CI is tracked separately. Prepared with AI assistance.

Explicit HTTP, HTTPS, WS and WSS URLs are also recognized case-insensitively when applying a profile. Four mixed-case regression cases reproduced the incorrect host substitution before the fix and pass afterward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant