A cloudflare backed DDNS service written in Rust
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
672 B

extern crate actix_web;
use std::sync::Arc;
use actix_web::{App, http};
use actix_web::middleware::Logger;
use cloudflare::Cloudflare;
use crate::config::model::Config;
use crate::server;
pub struct AppState {
pub config: Arc<Config>,
pub cloudflare: Arc<Cloudflare>
}
pub fn create(config: Arc<Config>, cloudflare: Arc<Cloudflare>) -> App<AppState> {
actix_web::App::with_state(AppState { config, cloudflare })
.middleware(Logger::default())
.scope("api/", server::api::route)
.resource("/health", |r| {
r.method(http::Method::GET).with(server::healthcheck)
})
.resource("/", |r| r.f(server::index))
}