diff --git a/docs/source/basic_tutorials/launcher.md b/docs/source/basic_tutorials/launcher.md index dbfaeab0..77f88490 100644 --- a/docs/source/basic_tutorials/launcher.md +++ b/docs/source/basic_tutorials/launcher.md @@ -349,12 +349,6 @@ Options: --cors-allow-origin [env: CORS_ALLOW_ORIGIN=] -``` -## API_KEY -```shell - --api-key - [env: API_KEY=] - ``` ## WATERMARK_GAMMA ```shell @@ -430,6 +424,22 @@ Options: [env: LORA_ADAPTERS=] +``` +## DISABLE_USAGE_STATS +```shell + --disable-usage-stats + Disable sending of all usage statistics + + [env: DISABLE_USAGE_STATS=] + +``` +## DISABLE_CRASH_REPORTS +```shell + --disable-crash-reports + Disable sending of crash reports, but allow anonymous usage statistics + + [env: DISABLE_CRASH_REPORTS=] + ``` ## HELP ```shell diff --git a/launcher/src/main.rs b/launcher/src/main.rs index 3d3bc4d6..78277eb3 100644 --- a/launcher/src/main.rs +++ b/launcher/src/main.rs @@ -1249,7 +1249,7 @@ fn spawn_webserver( } // OpenTelemetry - if let Some(api_key) = args.api_key{ + if let Some(api_key) = args.api_key { router_args.push("--api-key".to_string()); router_args.push(api_key); } diff --git a/router/src/server.rs b/router/src/server.rs index fa2ba001..1c3b7f92 100644 --- a/router/src/server.rs +++ b/router/src/server.rs @@ -31,11 +31,11 @@ use axum::response::{IntoResponse, Response}; use axum::routing::{get, post}; use axum::{http, Json, Router}; use axum_tracing_opentelemetry::middleware::OtelAxumLayer; -use http::header::AUTHORIZATION; use futures::stream::StreamExt; use futures::stream::{FuturesOrdered, FuturesUnordered}; use futures::Stream; use futures::TryStreamExt; +use http::header::AUTHORIZATION; use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle}; use serde_json::Value; use std::convert::Infallible; @@ -1815,10 +1815,13 @@ pub async fn run( request: axum::extract::Request, next: axum::middleware::Next| async move { match headers.get(AUTHORIZATION) { - Some(token) if token.to_str().to_lowercase() == api_key.to_lowercase() => { - let response = next.run(request).await; - Ok(response) - } + Some(token) => match token.to_str() { + Ok(token_str) if token_str.to_lowercase() == api_key.to_lowercase() => { + let response = next.run(request).await; + Ok(response) + } + _ => Err(StatusCode::UNAUTHORIZED), + }, _ => Err(StatusCode::UNAUTHORIZED), } };