6个版本
0.1.4 | 2023年10月17日 |
---|---|
0.1.1 | 2023年9月1日 |
0.1.0 | 2023年8月29日 |
0.0.4 | 2023年6月22日 |
#1843 在 网络编程
每月37次下载
66KB
1K SLoC
land-sdk
land-sdk
提供了用于通过http触发运行faas函数项目的Runtime.land API。
用法
将此添加到您的 Cargo.toml
[package]
name = "rust-hello-world"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.75"
http = "0.2.9"
land-sdk = "0.1.4"
# wit-component > 0.14.5 is not compatible with wit-bindgen 0.12.0
wit-component = "= 0.14.5"
wit-bindgen = "0.12.0"
[lib]
crate-type = ["cdylib"] # target wasm32-wasi
示例
use land_sdk::http::{Body, Error, Request, Response};
use land_sdk::http_main;
#[http_main]
pub fn handle_request(req: Request) -> Result<Response, Error> {
let url = req.uri().clone();
let method = req.method().to_string().to_uppercase();
Ok(http::Response::builder()
.status(200)
.header("X-Request-Url", url.to_string())
.header("X-Request-Method", method)
.body(Body::from("Hello Runtime.land!!"))
.unwrap())
}
许可证
Apache-2.0
lib.rs
:
Rust SDK for Runtime.land.
此SDK用于开发Runtime.land函数。它通过Runtime.land上的land_sdk::http
模块提供了一套处理http请求和响应的方法。
Hello World
use land_sdk::http::{Body, Error, Request, Response};
use land_sdk::http_main;
#[http_main]
pub fn handle_request(req: Request) -> Result<Response, Error> {
// read uri and method from request
let url = req.uri().clone();
let method = req.method().to_string().to_uppercase();
// build response
Ok(http::Response::builder()
.status(200)
.header("X-Request-Url", url.to_string())
.header("X-Request-Method", method)
.body(Body::from("Hello Runtime.land!!"))
.unwrap())
}
依赖项
~1.1–1.7MB
~34K SLoC