Broke OPTION / CORS by not matching on method

This commit is contained in:
Brandon Thomas
2020-09-10 05:21:03 -04:00
parent 8977255088
commit 77ad6a7e08
2 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
[package] [package]
name = "tts-service-proxy" name = "tts-service-proxy"
edition = "2018" edition = "2018"
version = "0.0.1" version = "0.0.2"
authors = [ authors = [
"Brandon Thomas <bt@brand.io>", "Brandon Thomas <bt@brand.io>",
"Brandon Thomas <echelon@gmail.com>", "Brandon Thomas <echelon@gmail.com>",
@@ -25,4 +25,4 @@ serde = "1.0.104"
serde_derive = "1.0.104" serde_derive = "1.0.104"
serde_json = "1.0.55" serde_json = "1.0.55"
tokio = { version = "0.2", features = ["full"] } tokio = { version = "0.2", features = ["full"] }
toml = "0.5.6" toml = "0.5.6"
+5 -5
View File
@@ -9,10 +9,10 @@ pub mod speak_proxy;
use anyhow::Result as AnyhowResult; use anyhow::Result as AnyhowResult;
use crate::newrelic_logger::NewRelicLogger; use crate::newrelic_logger::NewRelicLogger;
use crate::speak_proxy::speak_proxy_with_retry; use crate::speak_proxy::speak_proxy_with_retry;
use hyper::StatusCode;
use hyper::server::conn::AddrStream; use hyper::server::conn::AddrStream;
use hyper::service::{service_fn, make_service_fn}; use hyper::service::{service_fn, make_service_fn};
use hyper::{Body, Request, Response, Server}; use hyper::{Body, Request, Response, Server};
use hyper::{StatusCode, Method};
use rand::seq::IteratorRandom; use rand::seq::IteratorRandom;
use std::collections::HashMap; use std::collections::HashMap;
use std::convert::Infallible; use std::convert::Infallible;
@@ -125,8 +125,8 @@ pub async fn handle(
newrelic_logger: Arc<NewRelicLogger>, newrelic_logger: Arc<NewRelicLogger>,
server_params: ServerParams) -> Result<Response<Body>, Infallible> server_params: ServerParams) -> Result<Response<Body>, Infallible>
{ {
match req.uri().path() { match (req.method(), req.uri().path()) {
"/speak" => { (&Method::POST, "/speak") => {
let nr_transaction = newrelic_logger.web_transaction("/speak"); let nr_transaction = newrelic_logger.web_transaction("/speak");
let result = speak_proxy_with_retry( let result = speak_proxy_with_retry(
client_ip, client_ip,
@@ -141,7 +141,7 @@ pub async fn handle(
Err(error) => Ok(error.to_response()), Err(error) => Ok(error.to_response()),
} }
}, },
"/speak_spectrogram" => { (&Method::POST, "/speak_spectrogram") => {
let nr_transaction = newrelic_logger.web_transaction("/speak_spectrogram"); let nr_transaction = newrelic_logger.web_transaction("/speak_spectrogram");
let result = speak_proxy_with_retry( let result = speak_proxy_with_retry(
client_ip, client_ip,
@@ -156,7 +156,7 @@ pub async fn handle(
Err(error) => Ok(error.to_response()), Err(error) => Ok(error.to_response()),
} }
}, },
"/proxy_health" => { (&Method::GET, "/proxy_health") => {
let _droppable_transaction = newrelic_logger.web_transaction("/proxy_health"); let _droppable_transaction = newrelic_logger.web_transaction("/proxy_health");
health_check_response(req) health_check_response(req)
}, },