diff --git a/Cargo.toml b/Cargo.toml index 68f9542..8d9aa86 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tts-service-proxy" edition = "2018" -version = "0.0.1" +version = "0.0.2" authors = [ "Brandon Thomas ", "Brandon Thomas ", @@ -25,4 +25,4 @@ serde = "1.0.104" serde_derive = "1.0.104" serde_json = "1.0.55" tokio = { version = "0.2", features = ["full"] } -toml = "0.5.6" \ No newline at end of file +toml = "0.5.6" diff --git a/src/main.rs b/src/main.rs index 4e6b4de..d3f0fd1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,10 +9,10 @@ pub mod speak_proxy; use anyhow::Result as AnyhowResult; use crate::newrelic_logger::NewRelicLogger; use crate::speak_proxy::speak_proxy_with_retry; -use hyper::StatusCode; use hyper::server::conn::AddrStream; use hyper::service::{service_fn, make_service_fn}; use hyper::{Body, Request, Response, Server}; +use hyper::{StatusCode, Method}; use rand::seq::IteratorRandom; use std::collections::HashMap; use std::convert::Infallible; @@ -125,8 +125,8 @@ pub async fn handle( newrelic_logger: Arc, server_params: ServerParams) -> Result, Infallible> { - match req.uri().path() { - "/speak" => { + match (req.method(), req.uri().path()) { + (&Method::POST, "/speak") => { let nr_transaction = newrelic_logger.web_transaction("/speak"); let result = speak_proxy_with_retry( client_ip, @@ -141,7 +141,7 @@ pub async fn handle( Err(error) => Ok(error.to_response()), } }, - "/speak_spectrogram" => { + (&Method::POST, "/speak_spectrogram") => { let nr_transaction = newrelic_logger.web_transaction("/speak_spectrogram"); let result = speak_proxy_with_retry( client_ip, @@ -156,7 +156,7 @@ pub async fn handle( Err(error) => Ok(error.to_response()), } }, - "/proxy_health" => { + (&Method::GET, "/proxy_health") => { let _droppable_transaction = newrelic_logger.web_transaction("/proxy_health"); health_check_response(req) },