Actually, the HTTP handling is done by the
icx-proxy component in the
agent-rs repo, which already is open source, so a feature request there is not inappropriate.
POST into an update call is certainly a possibility. I think we have hesitated because maybe not every
POST should be an update call? Imagine an image transcoding service – you probably upload the file with
POST, but maybe still want the performance of a query call. Also, despite best intentions in the HTTP spec, in practice you might want state modification on
GET as well in some cases.
So tying it to the method seems a bit too rigid.
In my prototype, a query call is done first, and but it can tell the proxy to upgrade to an update call, but it’s also not clear if that’s ideal.
If you don’t mind having an URL that is not
*.ic0.app, at least for experimentation, you can run a patched
icx-proxy on your own infrastructure, and use that. The HTTP handling sits nicely on top of the core IC, instead of being a feature you can’t extract.