Crate wasmcloud_actor_extras

Source
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§

GeneratorRequest
GeneratorResult
Host

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.