mirror of
https://github.com/pcvolkmer/mv64e-rest-to-kafka-gateway
synced 2025-09-13 17:22:52 +00:00
feat: log invalid authentications
This commit is contained in:
@@ -42,8 +42,8 @@ Umgebungsvariable `APP_SECURITY_TOKEN`.
|
|||||||
|
|
||||||
Die folgenden Endpunkte sind verfügbar:
|
Die folgenden Endpunkte sind verfügbar:
|
||||||
|
|
||||||
* **POST** `/mtbfile`: Senden eines MTB-Files
|
* **POST** `/mtb/etl/patient-record`: Senden eines MTB-Files
|
||||||
* **DELETE** `/mtbfile/:patient_id`: Löschen von Informationen zu dem Patienten
|
* **DELETE** `/mtb/etl/patient-record/:patient_id`: Löschen von Informationen zu dem Patienten
|
||||||
|
|
||||||
Übermittelte MTB-Files müssen erforderliche Bestandteile beinhalten, ansonsten wird die Anfrage zurückgewiesen.
|
Übermittelte MTB-Files müssen erforderliche Bestandteile beinhalten, ansonsten wird die Anfrage zurückgewiesen.
|
||||||
|
|
||||||
|
16
src/main.rs
16
src/main.rs
@@ -8,7 +8,6 @@ use rdkafka::producer::FutureProducer;
|
|||||||
use rdkafka::ClientConfig;
|
use rdkafka::ClientConfig;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::sync::{Arc, LazyLock};
|
use std::sync::{Arc, LazyLock};
|
||||||
#[cfg(debug_assertions)]
|
|
||||||
use tower_http::trace::TraceLayer;
|
use tower_http::trace::TraceLayer;
|
||||||
|
|
||||||
use crate::cli::Cli;
|
use crate::cli::Cli;
|
||||||
@@ -67,6 +66,13 @@ async fn main() -> Result<(), ()> {
|
|||||||
.init();
|
.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(not(debug_assertions))]
|
||||||
|
{
|
||||||
|
tracing_subscriber::fmt()
|
||||||
|
.with_max_level(tracing::Level::INFO)
|
||||||
|
.init();
|
||||||
|
}
|
||||||
|
|
||||||
let producer = ClientConfig::new()
|
let producer = ClientConfig::new()
|
||||||
.set("bootstrap.servers", &CONFIG.bootstrap_server)
|
.set("bootstrap.servers", &CONFIG.bootstrap_server)
|
||||||
.set("message.timeout.ms", "5000")
|
.set("message.timeout.ms", "5000")
|
||||||
@@ -75,10 +81,9 @@ async fn main() -> Result<(), ()> {
|
|||||||
|
|
||||||
let sender = Arc::new(DefaultMtbFileSender::new(&CONFIG.topic, producer));
|
let sender = Arc::new(DefaultMtbFileSender::new(&CONFIG.topic, producer));
|
||||||
|
|
||||||
let routes = routes(sender).layer(from_fn(check_basic_auth));
|
let routes = routes(sender)
|
||||||
|
.layer(from_fn(check_basic_auth))
|
||||||
#[cfg(debug_assertions)]
|
.layer(TraceLayer::new_for_http());
|
||||||
let routes = routes.layer(TraceLayer::new_for_http());
|
|
||||||
|
|
||||||
match tokio::net::TcpListener::bind(&CONFIG.listen).await {
|
match tokio::net::TcpListener::bind(&CONFIG.listen).await {
|
||||||
Ok(listener) => {
|
Ok(listener) => {
|
||||||
@@ -114,6 +119,7 @@ async fn check_basic_auth(request: Request<Body>, next: Next) -> Response {
|
|||||||
return next.run(request).await;
|
return next.run(request).await;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
log::warn!("Invalid authentication used");
|
||||||
Unauthorized.into_response()
|
Unauthorized.into_response()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user