From 63a68056e18ddb7deea3de19957407d13d054e56 Mon Sep 17 00:00:00 2001 From: phil Date: Tue, 23 Sep 2025 17:21:25 -0400 Subject: [PATCH] 400 for POSTs could be method-not-allowed, but ehhh --- src/mirror.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/mirror.rs b/src/mirror.rs index da0d264..8c4c692 100644 --- a/src/mirror.rs +++ b/src/mirror.rs @@ -2,7 +2,7 @@ use crate::{GovernorMiddleware, logo}; use futures::TryStreamExt; use poem::{ EndpointExt, Error, IntoResponse, Request, Response, Result, Route, Server, get, handler, - http::{StatusCode, Uri}, + http::StatusCode, listener::TcpListener, middleware::{AddData, CatchPanic, Compression, Cors, Tracing}, web::Data, @@ -94,9 +94,19 @@ async fn proxy(req: &Request, Data(state): Data<&State>) -> Result Result { - log::info!("ha nope, {uri:?}"); - Ok(()) +async fn nope(Data(State { upstream, .. }): Data<&State>) -> (StatusCode, String) { + ( + StatusCode::BAD_REQUEST, + format!( + r#"{} + +Sorry, this server does not accept POST requests. + +You may wish to try upstream: {upstream} +"#, + logo("mirror (nope)") + ), + ) } pub async fn serve(upstream: &Url, plc: Url, bind: SocketAddr) -> std::io::Result<()> { -- 2.51.2