diff options
| author | Fuwn <[email protected]> | 2023-04-27 05:52:31 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-04-27 05:52:31 +0000 |
| commit | 2afebbc1f8fa218bb3eae271391b707d14778fc7 (patch) | |
| tree | ce226b86a871110dc86484a2fd9a01db4d501eae /examples | |
| parent | docs(readme): add information about examples (diff) | |
| download | windmark-2afebbc1f8fa218bb3eae271391b707d14778fc7.tar.xz windmark-2afebbc1f8fa218bb3eae271391b707d14778fc7.zip | |
feat(rossweisse): initial implementation of struct router framework
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/struct_router.rs | 49 |
1 files changed, 49 insertions, 0 deletions
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 <https://github.com/gemrest/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 <http://www.gnu.org/licenses/>. +// +// Copyright (C) 2022-2023 Fuwn <[email protected]> +// 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<dyn std::error::Error>> { + { + 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 +} |