From 2afebbc1f8fa218bb3eae271391b707d14778fc7 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 27 Apr 2023 05:52:31 +0000 Subject: feat(rossweisse): initial implementation of struct router framework --- examples/struct_router.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 examples/struct_router.rs (limited to 'examples') diff --git a/examples/struct_router.rs b/examples/struct_router.rs new file mode 100644 index 0000000..bf559ab --- /dev/null +++ b/examples/struct_router.rs @@ -0,0 +1,49 @@ +// This file is part of Windmark . +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 3. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// Copyright (C) 2022-2023 Fuwn +// SPDX-License-Identifier: GPL-3.0-only + +//! `cargo run --example struct_router` + +use rossweisse::route; + +#[rossweisse::router] +struct Router { + _phantom: (), +} + +#[rossweisse::router] +impl Router { + #[route] + pub fn index( + _context: windmark::context::RouteContext, + ) -> windmark::Response { + windmark::Response::success("Hello, World!") + } +} + +#[windmark::main] +async fn main() -> Result<(), Box> { + { + let mut router = Router::new(); + + router.router().set_private_key_file("windmark_private.pem"); + router.router().set_certificate_file("windmark_public.pem"); + + router + } + .run() + .await +} -- cgit v1.2.3