crates.io  travis  license  documentation

WebAssembly Secure Capabilities Connector - Actor SDK

The waSCC Actor SDK is used by Rust developers building cloud-native workloads for the wasm32-unknown-unknown target. Using waSCC to host your WebAssembly module frees you from the burden of manually implementing traditional non-functional requirements and boilerplate that typically bogs down development time. waSCC lets you focus squarely on compiling the business logic in a portable, secure wasm module that can run anywhere there's a waSCC host.

For more documentation, tutorials, and examples, please check out the wascc website.

Example

```rust extern crate wascc_actor as actor;

use actor::prelude::*;

actorhandlers!{ http::OPHANDLEREQUEST => helloworld, core::OPHEALTHREQUEST => health }

fn hello_world( _ctx: &CapabilitiesContext, _req: http::Request) -> ReceiveResult {

// Utilize capabilities via the context here
Ok(vec![])

}

fn health(_ctx: &CapabilitiesContext, _req: core::HealthRequest) -> ReceiveResult { Ok(vec![]) } ```

Using the wascc:logging capability

Inside a wascc actor, use normal log macros to write logs:

```

[macro_use]

extern crate log;

fn hello_world( ctx: &CapabilitiesContext, r: http::Request) -> CallResult { // regular log macros get intercepted automatically // and translated into waPC calls to the wascc:logging // provider debug!("Request path {}", r.path);

let echo = EchoRequest {
    method: r.method,
    path: r.path,
    query_string: r.query_string,
    body: r.body,
};

let resp = http::Response::json(echo, 200, "OK");

Ok(serialize(resp)?)

} ```