1
0

web server functionality

This commit is contained in:
Nicola Clark 2025-04-14 11:13:49 -05:00
parent f2044d356a
commit b273952d7a
Signed by: nicola
GPG Key ID: 3E1710E7FF08956C
4 changed files with 2361 additions and 19 deletions

View File

@ -1,3 +1,3 @@
{ {
"cSpell.words": ["clippy", "colog"] "cSpell.words": ["clippy", "colog", "smol"]
} }

2348
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
[package] [package]
name = "spoon-blog" name = "spoon-blog"
version = "0.2.0" version = "0.3.0"
edition = "2024" edition = "2024"
description = "Server for my blog" description = "Server for my blog"
repository = "https://repos.slottedspoon.dev/nicola/spoon-blog" repository = "https://repos.slottedspoon.dev/nicola/spoon-blog"
@ -12,4 +12,9 @@ pedantic = "warn"
[dependencies] [dependencies]
colog = "1.3.0" colog = "1.3.0"
env_logger = "0.11.8"
log = "0.4.27" log = "0.4.27"
macro_rules_attribute = "0.2.0"
smol = "2.0.2"
smol-macros = "0.1.1"
tide = "0.16.0"

View File

@ -6,12 +6,23 @@
* Copyright 2025 Nicola Clark * Copyright 2025 Nicola Clark
*/ */
use std::env; use std::{env, sync::LazyLock};
use env_logger::Logger;
use log::LevelFilter; use log::LevelFilter;
use macro_rules_attribute::apply;
use smol_macros::main;
static LOGGER: LazyLock<Logger> = LazyLock::new(|| {
colog::default_builder()
.filter_module("tide", LevelFilter::Warn)
.build()
});
#[apply(main!)]
async fn main() {
log::set_logger(&*LOGGER).unwrap();
fn main() {
colog::init();
if let Ok(b_log_level) = env::var("B_LOG_LEVEL") { if let Ok(b_log_level) = env::var("B_LOG_LEVEL") {
log::set_max_level(match b_log_level.as_str() { log::set_max_level(match b_log_level.as_str() {
"off" => LevelFilter::Off, "off" => LevelFilter::Off,
@ -26,4 +37,10 @@ fn main() {
} }
log::info!("spoon-blog v{}", env!("CARGO_PKG_VERSION")); log::info!("spoon-blog v{}", env!("CARGO_PKG_VERSION"));
let mut app = tide::new();
app.at("/").get(async |_| Ok("howdy y'all!!!"));
if let Err(tide_err) = app.listen("0.0.0.0:8080").await {
log::error!("issue serving HTTP: {tide_err}");
}
} }