Skip to content

G-Core/FastEdge-sdk-rust

Repository files navigation

FastEdge Rust SDK

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.

Feature Rust JavaScript
Handlers
HTTP Supported Supported
APIs
Outbound HTTP Supported Supported
Env Variables Supported Supported

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