#http-server #wasi #capability-provider #wascc #request-http #api-bindings

wascc-httpsrv

HTTP Server capability provider for the waSCC wasm host runtime

5 releases (3 breaking)

0.9.2 Jan 13, 2021
0.9.0 Oct 28, 2020
0.8.1 Sep 24, 2020
0.7.0 Jun 4, 2020
0.6.0 Apr 3, 2020

#1314 in WebAssembly

35 downloads per month

Apache-2.0

19KB
355 lines

crates.io  Rust license  documentation

waSCC HTTP Server Provider

This library is a native capability provider for the wascc:http_server capability. Only actors signed with tokens containing this capability privilege will be allowed to use it.

It should be compiled as a native shared object binary (linux .so, mac .dylib, windows .dll) and made available to the waSCC host runtime as a plugin. If you want to statically compile (embed) it into a custom waSCC host, then simply enable the static_plugin feature in your dependencies:

wascc-httpsrv = { version = "0.9.0", features = ["static_plugin"] }

To create an actor that makes use of this capability provider, make sure that a configuration is supplied at runtime and includes a PORT variable. This will enable the HTTP server and direct all requests to your actor module, which you can handle by checking that a dispatched operation is equivalent to the constant OP_HANDLE_REQUEST. For more information on the various types available to HTTP-based actors, check out the schemas repository.

For more hands-on tutorials on building actors, including HTTP server actors, see the wascc.dev website.

NOTE: If multiple actors within the same host process request HTTP server configurations, each actor will get its own HTTP server. Be careful not to request the same HTTP port for multiple actors in the same host process, as this will cause the host process to reject the configuration/binding.

Dependencies

~24–36MB
~629K SLoC