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 |
#1424 in WebAssembly
29 downloads per month
Used in wasmcloud
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
~31K SLoC