25个版本 (11个重大更新)
0.12.0 | 2023年9月19日 |
---|---|
0.11.0 | 2023年7月20日 |
0.10.0 | 2023年4月12日 |
0.9.0 | 2022年12月20日 |
0.1.0 | 2021年7月23日 |
#534 in WebAssembly
27KB
570 行
WasmCloud HTTP服务器接口
这是具有合约ID wasmcloud:httpserver
的HTTP服务器功能的接口
此文件夹包含
wasmcloud:httpserver
的模型定义- 生成的文档(HTML格式)
- 生成的Rust库(Rust格式)
任何使用 wasmcloud:httpserver
的Rust actor或能力提供者都应该依赖于这个库。能力提供者实现 HttpServerReceiver
特性。
能力提供者实现
以下是 wasmcloud:httpserver
合同的实现列表。如果您有社区/开源版本,请随时提交PR添加您的实现。
名称 | 供应商 | 描述 |
---|---|---|
HTTPServer | wasmCloud | 使用高度可扩展的 warp 网络服务器实现的wasmCloud HTTP服务器。 |
示例用法
🦀 Rust
实现 HttpServer.HandleRequest
操作
use wasmbus_rpc::actor::prelude::*;
use wasmcloud_interface_httpserver::{HttpRequest, HttpResponse, HttpServer, HttpServerReceiver};
#[derive(Debug, Default, Actor, HealthResponder)]
#[services(Actor, HttpServer)]
struct HelloActor {}
#[async_trait]
impl HttpServer for HelloActor {
async fn handle_request(&self, _ctx: &Context, _req: &HttpRequest) -> RpcResult<HttpResponse> {
Ok(HttpResponse {
body: "Hello World".as_bytes().to_owned(),
..Default::default()
})
}
}
🐭Golang
实现 HttpServer.HandleRequest
操作
import (
"github.com/wasmcloud/actor-tinygo"
httpserver "github.com/wasmcloud/interfaces/httpserver/tinygo"
)
func main() {
me := Actor{}
actor.RegisterHandlers(httpserver.HttpServerHandler(&me))
}
type Actor struct {}
func (e *Actor) HandleRequest(ctx *actor.Context, req httpserver.HttpRequest) (*httpserver.HttpResponse, error) {
r := httpserver.HttpResponse{
StatusCode: 200,
Header: make(httpserver.HeaderMap, 0),
Body: []byte("hello world"),
}
return &r, nil
}
依赖关系
~12–30MB
~492K SLoC