FastEdge Rust SDK

October 21, 2024 · View on GitHub

This is the Rust SDK for building applications ready for deploying on FastEdge runtime. FastEdge Runtime SDK is a simple SDK that helps you to create edge cloud application using WebAssembly component model and Wasmtime runtime.

Getting Started

Please read through the documentation provided by Gcore.

Language Support

The table below summarizes the feature support for language SDKs.

FeatureRustJavaScript
Handlers
HTTPSupportedSupported
APIs
Outbound HTTPSupportedSupported
Env VariablesSupportedSupported

Rust toolchain setup:

  • rustup target add wasm32-wasip1

The FastEdge Rust SDK

Example of simple app with http entrypoint:

// lib.rs
use anyhow::Result;
use fastedge::http::{Request, Response, StatusCode};
use fastedge::body::Body;

#[fastedge::http]
fn main(req: Request<Body>) -> Result<Response<Body>> {
     Response::builder().status(StatusCode::OK).body(Body::empty())
}

The important things to note in the function above:

  • the fastedge::http macro — this marks the function as the entrypoint for the FastEdge application
  • the function signature — fn main(req: Request<Body>) -> Result<Response<Body>> — uses the HTTP objects from the popular Rust crate http