#actor #capability #api-bindings #oneitfarm

oneitfarm-interface-httpserver

actors接收HTTP请求的接口(oneitfarm:httpserver)

2个版本

0.7.1 2022年10月18日
0.7.0 2022年10月18日

#26 in #capability

Apache-2.0 和可能 LGPL-3.0-or-later

26KB
564

oneitfarm HTTP服务器接口

这是具有合约ID oneitfarm:httpserver 的HTTP服务器能力的接口

此文件夹包含

  • oneitfarm:httpserver 的模型定义
  • 生成的文档(HTML格式)
  • 生成的Rust库(Rust格式)

任何使用 oneitfarm:httpserver 的Rust actor或能力提供者都应该依赖于这个库。能力提供者实现 HttpServerReceiver 特性。

示例用法(🦀 Rust)

实现 HttpServer.HandleRequest 操作

use wasmbus_rpc::actor::prelude::*;
use oneitfarm_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()
        })
    }
}

依赖关系

~13–30MB
~484K SLoC