updating to using actix for all things
This commit is contained in:
parent
687f1ed565
commit
3e2353bc02
4 changed files with 240 additions and 74 deletions
71
src/main.rs
71
src/main.rs
|
@ -1,6 +1,6 @@
|
|||
mod api;
|
||||
|
||||
use actix_cors::Cors;
|
||||
use actix_files::Files;
|
||||
use actix_multipart::form::tempfile::TempFileConfig;
|
||||
use actix_web::{middleware, App, HttpServer};
|
||||
use api::camp_form::camp_form;
|
||||
|
@ -10,58 +10,47 @@ use api::local_trip_form::local_form;
|
|||
use api::mt_form::mt_form;
|
||||
use api::parent_form::parent_form;
|
||||
use api::teacher_form::teacher_form;
|
||||
use log::LevelFilter;
|
||||
use log4rs::append::console::ConsoleAppender;
|
||||
use log4rs::append::file::FileAppender;
|
||||
use log4rs::config::{Appender, Root};
|
||||
use log4rs::encode::pattern::PatternEncoder;
|
||||
use log4rs::Config;
|
||||
use tracing::info;
|
||||
use tracing::level_filters::LevelFilter;
|
||||
use tracing_subscriber::{layer::SubscriberExt, EnvFilter, Layer};
|
||||
|
||||
#[actix_web::main]
|
||||
async fn main() -> std::io::Result<()> {
|
||||
// env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
|
||||
let stdout = ConsoleAppender::builder()
|
||||
.encoder(Box::new(PatternEncoder::new(
|
||||
"{d(%Y-%m-%d %H:%M:%S)} {h({l})} - {m}\n",
|
||||
)))
|
||||
.build();
|
||||
let logfile = FileAppender::builder()
|
||||
.encoder(Box::new(PatternEncoder::new(
|
||||
"{d(%Y-%m-%d %H:%M:%S)} {h({l})} - {m}\n",
|
||||
)))
|
||||
.build("./tmp/api.log")?;
|
||||
let timer =
|
||||
tracing_subscriber::fmt::time::ChronoLocal::new("%Y-%m-%d_%I:%M:%S%.6f %P".to_owned());
|
||||
let logfile = tracing_appender::rolling::daily("./tmp", "api.log");
|
||||
|
||||
let config = Config::builder()
|
||||
.appender(Appender::builder().build("stdout", Box::new(stdout)))
|
||||
.appender(Appender::builder().build("logfile", Box::new(logfile)))
|
||||
.build(
|
||||
Root::builder()
|
||||
.appenders(vec!["logfile", "stdout"])
|
||||
.build(LevelFilter::Info),
|
||||
)
|
||||
.unwrap();
|
||||
let filter = EnvFilter::builder()
|
||||
.with_default_directive(LevelFilter::WARN.into())
|
||||
.parse_lossy("tfcapi=debug");
|
||||
let logfile_layer = tracing_subscriber::fmt::layer()
|
||||
.pretty()
|
||||
.with_writer(logfile)
|
||||
.with_line_number(true)
|
||||
.with_level(true)
|
||||
.with_target(true)
|
||||
.with_timer(timer.clone());
|
||||
let stdout_layer = tracing_subscriber::fmt::layer()
|
||||
.pretty()
|
||||
.with_line_number(true)
|
||||
.with_target(true)
|
||||
.with_timer(timer)
|
||||
.with_filter(filter);
|
||||
let filter = EnvFilter::builder()
|
||||
.with_default_directive(LevelFilter::WARN.into())
|
||||
.parse_lossy("tfcapi=debug");
|
||||
tracing_subscriber::registry().with(logfile_layer.with_filter(filter).and_then(stdout_layer));
|
||||
|
||||
let _handle = log4rs::init_config(config).expect("error setting up logger");
|
||||
|
||||
log::info!("creating temporary upload directory");
|
||||
info!("creating temporary upload directory");
|
||||
std::fs::create_dir_all("./tmp")?;
|
||||
|
||||
log::info!("starting HTTP server at http://localhost:4242");
|
||||
info!("starting HTTP server at http://localhost:4242");
|
||||
|
||||
HttpServer::new(|| {
|
||||
// let cors = Cors::default()
|
||||
// .send_wildcard()
|
||||
// .allowed_origin("https://tfcconnection.org")
|
||||
// .allowed_origin("http://localhost:1313")
|
||||
// .allowed_origin("http://127.0.0.1:1313")
|
||||
// .allow_any_origin()
|
||||
// .allow_any_method()
|
||||
// .allow_any_header()
|
||||
// .max_age(3600);
|
||||
|
||||
App::new()
|
||||
.wrap(middleware::Logger::default())
|
||||
.app_data(TempFileConfig::default().directory("./tmp"))
|
||||
.service(Files::new("/", "./public").show_files_listing())
|
||||
.service(mt_form)
|
||||
.service(health_form)
|
||||
.service(parent_form)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue