crates.io  TinyGo Version

wasmCloud HTTP Server Interface

This is the interface for an HTTP Server capability with the contract ID wasmcloud:httpserver

This folder contains - Model definition for wasmcloud:httpserver - Generated documentation (in HTML) - Generated Rust library (in Rust)

Any Rust actor or capability provider using wasmcloud:httpserver should rely upon this library. A capability provider implements the trait HttpServerReceiver.

Capability Provider Implementations

The following is a list of implementations of the wasmcloud:httpserver contract. Feel free to submit a PR adding your implementation if you have a community/open source version.

| Name | Vendor | Description | | :--- | :---: | :--- | | HTTPServer | wasmCloud | wasmCloud HTTP Server implementation using the highly scalable warp web server.

Example Usage (🦀 Rust)

Implementing the HttpServer.HandleRequest operation ```rust use wasmbusrpc::actor::prelude::*; use wasmcloudinterface_httpserver::{HttpRequest, HttpResponse, HttpServer, HttpServerReceiver};

[derive(Debug, Default, Actor, HealthResponder)]

[services(Actor, HttpServer)]

struct HelloActor {}

[async_trait]

impl HttpServer for HelloActor { async fn handlerequest(&self, _ctx: &Context, _req: &HttpRequest) -> RpcResult { Ok(HttpResponse { body: "Hello World".asbytes().to_owned(), ..Default::default() }) } } ```