Repository navigation
fix(pic): read HTTPS outcalls made with PUT, DELETE and PATCH (0.23 backport) - #322
Merged
Merged
Conversation
Backport to the 0.23 release line. PocketIC reports a pending HTTPS outcall's method as GET, POST, HEAD, PUT, DELETE or PATCH, but getPendingHttpsOutcalls only decoded the first three and threw "Unknown canister HTTP method" for the rest. A test of a canister that sends a PUT, DELETE or PATCH request could not answer it. The test canister gains a method that makes a non-replicated outcall with a given method (the IC allows PUT, DELETE and PATCH only there). The new test reads and answers one outcall per method; before the fix, the PUT and DELETE cases failed with the decode error. PocketIC 14, which this release line pins, makes no PATCH outcalls, so PATCH is covered against PocketIC 15 servers only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexandru-uta
marked this pull request as ready for review
October 23, 2026 13:20
Merged
alexandru-uta
added a commit
that referenced
this pull request
Oct 23, 2026
Releases the PUT, DELETE and PATCH outcall fix (#322) on the 0.23 line as 0.23.1. The release workflow on this branch publishes to npm under the `release-0.23` tag instead of `latest`, does not mark the GitHub release as latest, and publishes only the v0.23 docs, so 0.25.0 stays the latest release. After merging this PR, tag the merge commit with: ```shell git tag 0.23.1 git push origin 0.23.1 ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Backport of #320 to the 0.23 release line, for a 0.23.1 patch release.
PocketIC reports a pending HTTPS outcall's method as GET, POST, HEAD, PUT, DELETE or PATCH, but
getPendingHttpsOutcallsonly decoded the first three and threwUnknown canister HTTP method: PUTfor the rest, so a test could not answer a canister's PUT, DELETE or PATCH request.CanisterHttpMethodand its decoder now cover all six methods; the API is otherwise unchanged from 0.23.0.The test canister gains
http_request_status, which makes a non-replicated outcall with a given method (the IC allows PUT, DELETE and PATCH only there), and a new spec reads and answers one outcall per method. PocketIC 14, which this line pins, makes no PATCH outcalls, so the spec covers GET, HEAD, POST, PUT and DELETE; with the decoder change reverted, PUT and DELETE fail with the decode error. PATCH passes against PocketIC 15.0.23.1 should be published under its own dist-tag so it does not replace 0.25.0 as
latest.🤖 Generated with Claude Code