Crate wasmcloud_actor_extras[][src]

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 = extras::default().request_guid().unwrap_or("unknown-guid".to_string());
  let result = json!({"guid": guid });
  Ok(http::Response::json(&result, 200, "OK"))
}

Structs

Host
RequestRandomArgs

Constants

OP_REQUEST_GUID

Constant that can be used by capability providers when handling messages from actors

OP_REQUEST_RANDOM

Constant that can be used by capability providers when handling messages from actors

OP_REQUEST_SEQUENCE

Constant that can be used by capability providers when handling messages from actors

Functions

default

Creates the default host binding

deserialize

The standard function for de-serializing codec structs from a format suitable for message exchange between actor and host. Use of any other function to deserialize could result in breaking incompatibilities.

host

Creates a named host binding

serialize

The standard function for serializing codec structs into a format that can be used for message exchange between actor and host. Use of any other function to serialize could result in breaking incompatibilities.