Crate wasmcloud_actor_extras[][src]

Expand description

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};
use extras::{GeneratorResult, GeneratorRequest};

#[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 request = GeneratorRequest { guid: true, random: false, sequence: false, min: 0, max: 0 };
  let guid = extras::default().request_guid(request)?;
  let result = json!({"guid": guid });
  Ok(http::Response::json(&result, 200, "OK"))
}

Structs

Constants

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

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

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

Functions

Creates the default host binding

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.

Creates a named host binding

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.