puniyu_server 0.5.2

puniyu 的服务器模块
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::sync::LazyLock;
use puniyu_common::path::RESOURCE_DIR;

use actix_web::{HttpResponse, web};


async fn logo() -> HttpResponse {
	static LOGO: LazyLock<Vec<u8>> = LazyLock::new(|| {
		std::fs::read(RESOURCE_DIR.join("logo.png")).unwrap()
	});
	HttpResponse::Ok().content_type("image/png").body(*crate::LOGO.get_or_init(|| LOGO.as_ref()))
}

pub(crate) fn logo_route(cfg: &mut actix_web::web::ServiceConfig) {
	cfg.service(web::resource("/logo").route(web::get().to(logo)))
	   .service(web::resource("/logo.png").route(web::get().to(logo)));
}