Added rust-toolchain.toml file; removed nightly-only rustfmt.toml
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details

pull/13/head
Jef Roosens 2022-04-28 10:56:30 +02:00
parent 0b9b5bb8e7
commit aa3051a6ef
Signed by: Jef Roosens
GPG Key ID: B580B976584B5F30
7 changed files with 12 additions and 88 deletions

View File

@ -0,0 +1,2 @@
[toolchain]
channel = "1.60"

View File

@ -1,68 +0,0 @@
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

View File

@ -14,8 +14,7 @@ use tokio_util::io::StreamReader;
use crate::{DEFAULT_STATIC_SITE, STATIC_DIR_NAME};
#[derive(Deserialize)]
pub struct StaticDirParams
{
pub struct StaticDirParams {
dir: Option<String>,
}
@ -23,8 +22,7 @@ pub async fn post_deploy(
Extension(data_dir): Extension<String>,
Query(params): Query<StaticDirParams>,
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 =
@ -56,8 +54,7 @@ pub async fn post_deploy(
res
}
fn process_archive(archive_path: &Path, static_dir: &Path) -> Result<(), ()>
{
fn process_archive(archive_path: &Path, static_dir: &Path) -> Result<(), ()> {
let file = std::fs::File::open(archive_path).map_err(|_| ())?;
let tar = GzDecoder::new(file);
let mut archive = Archive::new(tar);

View File

@ -2,7 +2,6 @@ use axum::{routing::post, Router};
mod deploy;
pub fn router() -> Router
{
pub fn router() -> Router {
Router::new().route("/deploy", post(deploy::post_deploy))
}

View File

@ -20,8 +20,7 @@ const STATIC_DIR_NAME: &str = "static";
const DEFAULT_STATIC_SITE: &str = "default";
#[tokio::main]
async fn main()
{
async fn main() {
// Enable tracing
tracing_subscriber::registry()
.with(tracing_subscriber::EnvFilter::new(

View File

@ -1,19 +1,16 @@
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"}}))
}

View File

@ -3,8 +3,7 @@ use std::time::Instant;
use axum::{extract::MatchedPath, http::Request, middleware::Next, response::IntoResponse};
use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle};
pub fn setup_metrics_recorder() -> PrometheusHandle
{
pub fn setup_metrics_recorder() -> PrometheusHandle {
const EXPONENTIAL_SECONDS: &[f64] = &[
0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0,
];
@ -20,8 +19,7 @@ pub fn setup_metrics_recorder() -> PrometheusHandle
}
// Taken from the examples section
pub async fn track_metrics<B>(req: Request<B>, next: Next<B>) -> impl IntoResponse
{
pub async fn track_metrics<B>(req: Request<B>, next: Next<B>) -> impl IntoResponse {
let start = Instant::now();
let path = if let Some(matched_path) = req.extensions().get::<MatchedPath>() {
matched_path.as_str().to_owned()