4 releases
0.1.3 | Aug 11, 2021 |
---|---|
0.1.2 | Apr 16, 2021 |
0.1.1 | Feb 17, 2021 |
0.1.0 | Feb 10, 2021 |
#1516 in WebAssembly
414 downloads per month
Used in 2 crates
11KB
117 lines
wasmCloud Extras Actor Interface
This crate provides wasmCloud actors with an interface to the extras capability provider.
Every wasmCloud host runtime automatically comes with a built-in extras provider. However,
actors using this provider will still need to be signed with the wasmcloud:extras
capability contract ID.
The following functions are supported on the extras Host
interface:
Example:
extern crate wapc_guest as guest;
use guest::prelude::*;
use wasmcloud_actor_core as actor;
use wasmcloud_actor_extras as extras;
use wasmcloud_actor_http_server as http;
use serde_json::json;
use log::{error, info};
#[actor::init]
pub fn init() {
http::Handlers::register_handle_request(generate_guid);
}
/// Generate a Guid and return it in a JSON envelope
fn generate_guid(_req: http::Request) -> HandlerResult<http::Response> {
let guid = get_guid()? // Replace this with `extras::default().request_guid()?`
.unwrap_or("unknown-guid".to_string());
let result = json!({"guid": guid });
Ok(http::Response::json(&result, 200, "OK"))
}
Dependencies
~0.8–1.5MB
~32K SLoC