diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..6e48dc7 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,68 @@ +unstable_features = true +binop_separator = "Front" +blank_lines_lower_bound = 0 +blank_lines_upper_bound = 1 +# Trying something new +brace_style = "AlwaysNextLine" +color = "Auto" +combine_control_expr = false +comment_width = 80 +condense_wildcard_suffixes = false +control_brace_style = "AlwaysSameLine" +disable_all_formatting = false +edition = "2018" +emit_mode = "Files" +empty_item_single_line = true +enum_discrim_align_threshold = 0 +error_on_line_overflow = false +error_on_unformatted = false +fn_args_layout = "Tall" +fn_single_line = false +force_explicit_abi = true +force_multiline_blocks = false +format_code_in_doc_comments = false +format_macro_bodies = true +format_macro_matchers = false +format_strings = false +group_imports = "StdExternalCrate" +hard_tabs = false +hide_parse_errors = false +ignore = [] +imports_granularity = "Crate" +imports_indent = "Block" +imports_layout = "Mixed" +indent_style = "Block" +inline_attribute_width = 0 +license_template_path = "" +make_backup = false +match_arm_blocks = true +match_arm_leading_pipes = "Never" +match_block_trailing_comma = true +max_width = 100 +merge_derives = true +newline_style = "Auto" +normalize_comments = false +normalize_doc_attributes = false +overflow_delimited_expr = false +remove_nested_parens = true +reorder_impl_items = false +reorder_imports = true +reorder_modules = true +report_fixme = "Always" +report_todo = "Always" +skip_children = false +space_after_colon = true +space_before_colon = false +spaces_around_ranges = false +struct_field_align_threshold = 0 +struct_lit_single_line = true +tab_spaces = 4 +trailing_comma = "Vertical" +trailing_semicolon = true +type_punctuation_density = "Wide" +use_field_init_shorthand = false +use_small_heuristics = "Default" +use_try_shorthand = false +version = "One" +where_single_line = false +wrap_comments = false diff --git a/src/api/deploy.rs b/src/api/deploy.rs index 524992e..2fe8198 100644 --- a/src/api/deploy.rs +++ b/src/api/deploy.rs @@ -1,4 +1,5 @@ -use crate::STATIC_DIR_NAME; +use std::{collections::HashSet, io::ErrorKind, path::Path}; + use axum::{ extract::{BodyStream, Extension}, http::StatusCode, @@ -6,16 +7,16 @@ use axum::{ }; use flate2::read::GzDecoder; use futures_util::TryStreamExt; -use std::collections::HashSet; -use std::io::ErrorKind; -use std::path::Path; use tar::Archive; use tokio_util::io::StreamReader; +use crate::STATIC_DIR_NAME; + pub async fn post_deploy( Extension(data_dir): Extension, res: BodyStream, -) -> impl IntoResponse { +) -> impl IntoResponse +{ // This converts a stream into something that implements AsyncRead, which we can then use to // asynchronously write the file to disk let mut read = diff --git a/src/api/mod.rs b/src/api/mod.rs index 52d2063..c9be1c6 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1,8 +1,8 @@ -use axum::routing::post; -use axum::Router; +use axum::{routing::post, Router}; mod deploy; -pub fn router() -> Router { +pub fn router() -> Router +{ Router::new().route("/deploy", post(deploy::post_deploy)) } diff --git a/src/main.rs b/src/main.rs index 01e6e8b..aa405b2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ -use axum::{extract::Extension, http::StatusCode, routing::get_service, Router}; use std::net::SocketAddr; + +use axum::{extract::Extension, http::StatusCode, routing::get_service, Router}; use tower_http::{auth::RequireAuthorizationLayer, services::ServeDir, trace::TraceLayer}; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; @@ -9,7 +10,8 @@ mod matrix; const STATIC_DIR_NAME: &str = "static"; #[tokio::main] -async fn main() { +async fn main() +{ // Enable tracing tracing_subscriber::registry() .with(tracing_subscriber::EnvFilter::new( diff --git a/src/matrix.rs b/src/matrix.rs index 0222195..00e984a 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -1,16 +1,19 @@ use axum::{response::IntoResponse, routing::get, Json, Router}; use serde_json::json; -pub fn router() -> Router { +pub fn router() -> Router +{ Router::new() .route("/.well-known/matrix/server", get(get_matrix_server)) .route("/.well-known/matrix/client", get(get_matrix_client)) } -async fn get_matrix_server() -> impl IntoResponse { +async fn get_matrix_server() -> impl IntoResponse +{ Json(json!({"m.server": "matrix.rustybever.be:443"})) } -async fn get_matrix_client() -> impl IntoResponse { +async fn get_matrix_client() -> impl IntoResponse +{ Json(json!({"m.homeserver": {"base_url": "https://matrix.rustybever.be"}})) }