webarcade-api 0.1.0

Plugin API for WebArcade - Build native desktop plugins with Rust
Documentation

webarcade-api

Plugin API for WebArcade - Build native desktop plugins with Rust.

Installation

[dependencies]

webarcade-api = "0.1"



# Enable bridge feature for HTTP route handlers

webarcade-api = { version = "0.1", features = ["bridge"] }

Quick Start

use webarcade_api::prelude::*;

pub struct MyPlugin;

impl Plugin for MyPlugin {
    fn metadata(&self) -> PluginMetadata {
        PluginMetadata {
            id: "my-plugin".into(),
            name: "My Plugin".into(),
            version: "1.0.0".into(),
            description: "A WebArcade plugin".into(),
            author: "You".into(),
            dependencies: vec![],
        }
    }
}

HTTP Route Handlers

Enable the bridge feature to create HTTP route handlers:

use webarcade_api::{HttpRequest, HttpResponse, json, json_response};

pub async fn handle_hello(_req: HttpRequest) -> HttpResponse {
    json_response(&json!({
        "message": "Hello from Rust!"
    }))
}

Define routes in your plugin's Cargo.toml:

[routes]

"GET /hello" = "handle_hello"

"POST /data" = "handle_data"

Features

  • bridge - Enable HTTP bridge functionality (tokio runtime, HTTP types). Only needed for plugins that define routes.

License

MIT