fixes and update docs

This commit is contained in:
erikkaum 2024-07-26 11:00:27 +02:00
parent 21efb19c13
commit fcb2dfb683
3 changed files with 11 additions and 14 deletions

View File

@ -349,12 +349,6 @@ Options:
--cors-allow-origin <CORS_ALLOW_ORIGIN> --cors-allow-origin <CORS_ALLOW_ORIGIN>
[env: CORS_ALLOW_ORIGIN=] [env: CORS_ALLOW_ORIGIN=]
```
## API_KEY
```shell
--api-key <API_KEY>
[env: API_KEY=]
``` ```
## WATERMARK_GAMMA ## WATERMARK_GAMMA
```shell ```shell

View File

@ -1275,8 +1275,8 @@ fn spawn_webserver(
router_args.push(origin); router_args.push(origin);
} }
// OpenTelemetry // API Key
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".to_string());
router_args.push(api_key); router_args.push(api_key);
} }

View File

@ -33,11 +33,11 @@ use axum::response::{IntoResponse, Response};
use axum::routing::{get, post}; use axum::routing::{get, post};
use axum::{http, Json, Router}; use axum::{http, Json, Router};
use axum_tracing_opentelemetry::middleware::OtelAxumLayer; use axum_tracing_opentelemetry::middleware::OtelAxumLayer;
use http::header::AUTHORIZATION;
use futures::stream::StreamExt; use futures::stream::StreamExt;
use futures::stream::{FuturesOrdered, FuturesUnordered}; use futures::stream::{FuturesOrdered, FuturesUnordered};
use futures::Stream; use futures::Stream;
use futures::TryStreamExt; use futures::TryStreamExt;
use http::header::AUTHORIZATION;
use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle}; use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle};
use serde_json::Value; use serde_json::Value;
use std::convert::Infallible; use std::convert::Infallible;
@ -1832,11 +1832,14 @@ pub async fn run(
request: axum::extract::Request, request: axum::extract::Request,
next: axum::middleware::Next| async move { next: axum::middleware::Next| async move {
match headers.get(AUTHORIZATION) { match headers.get(AUTHORIZATION) {
Some(token) if token.to_str().to_lowercase() == api_key.to_lowercase() => { Some(token) => match token.to_str() {
let response = next.run(request).await; Ok(token_str) if token_str.to_lowercase() == api_key.to_lowercase() => {
Ok(response) let response = next.run(request).await;
} Ok(response)
_ => Err(StatusCode::UNAUTHORIZED), }
_ => Err(StatusCode::UNAUTHORIZED),
},
None => Err(StatusCode::UNAUTHORIZED),
} }
}; };