Crates.io | land-sdk |
lib.rs | land-sdk |
version | 0.1.4 |
source | src |
created_at | 2023-06-22 14:06:59.770981 |
updated_at | 2023-10-17 07:50:18.576377 |
description | land sdk API |
homepage | |
repository | |
max_upload_size | |
id | 897431 |
size | 62,063 |
land-sdk
provides api for Runtime.land to run faas function project with http trigger.
Add this to your 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