Conversation
veeso
left a comment
There was a problem hiding this comment.
In general it's okay, but I would maybe add a readme, because it took me a while to get how the proxy canister is supposed to work
|
Readme added |
|
|
||
| [private] | ||
| build_http_proxy_canister: | ||
| cargo run -p ic-http-outcall-proxy-canister --features export-api > {{WASM_DIR}}/ic-http-outcall-proxy-canister.did |
|
|
||
| ## Overview | ||
|
|
||
| The HTTP Outcall project provides a set of Rust crates for making HTTP requests from canisters on the Internet Computer. The project includes three main crates: |
There was a problem hiding this comment.
HTTP requests from canisters to what? Please be explicit in the description.
| @@ -0,0 +1,20 @@ | |||
| # HTTP Outcall Project | |||
| ========================= | |||
|
|
|||
There was a problem hiding this comment.
The entire documentation has to be revamped.
It should contain:
- what is this project for
- what is the original problem that it solves
- how does it solve the problem
- why it is needed
- how to use it
- current limitations
| The HTTP Outcall project provides a set of Rust crates for making HTTP requests from canisters on the Internet Computer. The project includes three main crates: | ||
| - `ic-http-outcall-api` - common types. | ||
| - `ic-http-outcall-proxy-canister` - canister to process pending HTTP outcalls. | ||
| - `ic-http-outcall-proxy-client` - service to fetch pending HTTP requests from `ic-http-outcall-proxy-canister`, execute them, and send results back to the `ic-http-outcall-proxy-canister`. |
There was a problem hiding this comment.
Is this the expecected naming? client sounds confusing
|
|
||
| The HTTP Outcall project provides a set of Rust crates for making HTTP requests from canisters on the Internet Computer. The project includes three main crates: | ||
| - `ic-http-outcall-api` - common types. | ||
| - `ic-http-outcall-proxy-canister` - canister to process pending HTTP outcalls. |
There was a problem hiding this comment.
Do we another canister for this? Can this be a service to be embedded by other canisters instead? E.g. like ic-metrics for example?
| /// | ||
| /// The `args.callback_name` will be called, when the a reply will be ready. | ||
| #[update] | ||
| pub fn http_outcall(&mut self, args: RequestArgs) -> RequestId { |
There was a problem hiding this comment.
As this is an unprotected update endpoint, this canister will work for free for every caller without any attempts to authenticate.
|
|
||
| ## Usage | ||
| To use non-replicated HTTP outcalls there should be: | ||
| - `ic-http-outcall-proxy-canister` deployed. |
There was a problem hiding this comment.
How are the users supposed to obtain this canister?
|
@veeso The entire implementation should be rediscussed |
|
I've added a comment into the issue with the approach we discussed and decided on instead of this PR. I'll close this PR. |
https://infinityswap.atlassian.net/browse/EPROD-1041