Skip to content

fix(http): send every HTTP verb in uppercase - #474

Merged
armando-rodriguez-cko merged 1 commit into
masterfrom
fix/INT-1745-patch-method-uppercase
Oct 23, 2026
Merged

armando-rodriguez-cko merged 1 commit into
masterfrom
fix/INT-1745-patch-method-uppercase

Conversation

@armando-rodriguez-cko

Copy link
Copy Markdown
Contributor

Summary
With the default fetch client every PATCH request failed with 400. The method was passed to fetch in lowercase, and fetch only normalises DELETE, GET, HEAD, OPTIONS, POST and PUT, so patch reached the API as-is. The axios client was not affected. Every verb is now sent in uppercase on both clients.

Changes

  • src/services/http.js: httpRequest uppercases the method once before choosing the client; the OAuth token request uses POST
  • test/http/httpMethod.js: new tests that read the method on a local HTTP server for GET, POST, PATCH, PUT and DELETE with both the fetch and axios clients (nock matches the method case-insensitively, so it could not catch this)

Verified against the sandbox with the default client: updating a customer returned 400 before the change and succeeds after it.

API Reference
Every PATCH operation the SDK exposes, for example:

Breaking changes
None.

README
No change needed.

The default fetch client passed the method in lowercase. fetch only normalises DELETE, GET, HEAD, OPTIONS, POST and PUT, so PATCH went out as "patch" and the API answered 400. Every PATCH operation failed with the default client; axios was not affected.

The method is now uppercased once in httpRequest for both clients. New tests read the method on a local server for GET, POST, PATCH, PUT and DELETE with fetch and axios, since nock matches the method case-insensitively and could not catch this.
@armando-rodriguez-cko
armando-rodriguez-cko requested a review from a team October 23, 2026 12:45
@agent-wall-e

agent-wall-e Bot commented Oct 23, 2026

Copy link
Copy Markdown

🟢 Risk Classification: LOW

Approval route: AI Auto-Approval
Rollback controls: Automated Instant Rollback + feature flags

Classification reasons

  • no_low_class_matched
  • prod_source_modified
  • 2.2.6_logical_extension:The change is a non-destructive, function-preserving bug fix that uppercases the HTTP method string within an existing code path, introduces no new endpoints, data, auth, or external integrations, and is strictly limited in scope.

Operational gates

  • ✅ jira_ticket (INT-1745)
  • ✅ independent_review

Files analysed: 2


wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…

@agent-wall-e

agent-wall-e Bot commented Oct 23, 2026

Copy link
Copy Markdown
🔬 Debug — why this classification?

Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.

Reason code Kind Clause Meaning
no_low_class_matched informational §2.2 (fall-through) None of the deterministic Low classes (§2.2.3, §2.2.4, §2.2.7, docs-only) applied; classifier fell through to LLM evaluation.
prod_source_modified informational §2.1 M7 (informational) At least one file is non-doc, non-test, non-IaC — i.e. application source code was modified.
2.2.6_logical_extension — The change is a non-destructive, function-preserving bug fix that uppercases the HTTP method string within an existing code path, introduces no new endpoints, data, auth, or external integrations, and is strictly limited in scope. classifying §2.2.6 Sonnet 4.6 evaluator promoted minor → low: the change reuses existing code paths and does not cross a trust boundary.

Kinds:

  • classifying — this rule contributed to the chosen tier.
  • informational — context only; did not by itself decide the tier.

See issue #3 for the proposal to formalise this map as Appendix A of the standards doc.

wall-e 2026.06.19-02 · debug

@sonarqubecloud

Copy link
Copy Markdown

@agent-wall-e agent-wall-e Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved — this PR meets all Low-risk criteria.

All checks passed, no unresolved comments, and the change classification is:

  • no_low_class_matched
  • prod_source_modified
  • 2.2.6_logical_extension:The change is a pure bug fix that uppercases the HTTP method string in an existing code path, touching no auth logic, no data persistence, no new endpoints or integrations, and no external boundaries.

wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…

@armando-rodriguez-cko
armando-rodriguez-cko merged commit 6ee7ffb into master Oct 23, 2026
6 checks passed
@armando-rodriguez-cko
armando-rodriguez-cko deleted the fix/INT-1745-patch-method-uppercase branch October 23, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants