extension-http-outcalls
この Skill は、バックエンドの Canister が HTTP GET および POST リクエストを実行できるようにし、外部 API やサービスとのシームレスな統合を可能にします。これにより、バックエンドとサードパーティシステム間の通信が効率化され、複雑なネットワークリクエストロジックを手動で記述する必要がなくなり、開発が加速し、Canister の機能が拡張されます。
npx skills add https://github.com/caffeinelabs/skills --skill extension-http-outcallsBefore / After 効果比較
1 组この Skill がない場合、ユーザーはバックエンドの Canister が外部サービスと通信するために、複雑なネットワークリクエストコードとデータ処理ロジックを手動で記述する必要がありました。これは時間がかかり、エラーが発生しやすく、開発とメンテナンスの負担が増大していました。
この Skill は、事前に構築された HTTP リクエストモジュールを提供し、ユーザーは簡単な呼び出しで外部 API との統合を実現できます。この Skill は、開発時間を大幅に短縮し、エラー率を低減し、バックエンドサービスの統合能力を向上させます。
HTTP Outcalls
HTTP outcalls extension for Caffeine AI.
Overview
This skill adds the ability to make HTTP GET and POST requests from the backend canister. Useful for integrating with external APIs and services.
Backend
For HTTP outcalls that must be performed in the backend:
There is the prefabricated module mo:caffeineai-http-outcalls/outcall.mo that that cannot be modified. It provides fundamental functionality for making HTTP GET or PUT requests in the backend.
module {
public type TransformationInput = {
context : Blob;
response : IC.HttpRequestResult;
};
public type TransformationOutput = IC.HttpRequestResult;
public type Transform = query TransformationInput -> async TransformationOutput;
public type Header = {
name: Text;
value: Text;
};
// Helper function for the transform callback used by the IC on HTTP outcalls.
public func transform(input : TransformationInput) : TransformationOutput;
// HTTP GET request with a transform callback function.
public func httpGetRequest(url : Text, extraHeaders: [Header], transform : Transform) : async Text;
// HTTP POST request, specifying a transform callback.
public func httpPostRequest(url : Text, extraHeaders: [Header], body : Text, transform : Transform) : async Text;
};
Usage for GET:
import OutCall "mo:caffeineai-http-outcalls/outcall";
actor {
public query func transform(input: OutCall.TransformationInput) : async OutCall.TransformationOutput {
OutCall.transform(input);
};
func makeGetOutcall(url: Text) : async Text {
await OutCall.httpGetRequest(url, [], transform);
};
};
Hint: JSON parsing is not directly supported in Motoko. Better tunnel JSON to frontend for parsing.
POST usage is analogous.
ユーザーレビュー (0)
レビューを書く
レビューなし
統計データ
ユーザー評価
この Skill を評価