Support punnycode

This commit is contained in:
Quentin 2020-11-20 21:23:32 +01:00
parent 2e94275e68
commit 5b363626f4
3 changed files with 5 additions and 2 deletions

1
Cargo.lock generated
View File

@ -661,6 +661,7 @@ dependencies = [
"hex",
"http",
"hyper",
"idna",
"log",
"percent-encoding",
"rand",

View File

@ -41,4 +41,4 @@ rustls = "0.17"
webpki = "0.21"
roxmltree = "0.11"
idna = "0.2"

View File

@ -10,6 +10,8 @@ use hyper::server::conn::AddrStream;
use hyper::service::{make_service_fn, service_fn};
use hyper::{Body, Request, Response, Server};
use idna::domain_to_unicode;
use garage_model::garage::Garage;
use garage_util::error::Error as GarageError;
use crate::error::*;
@ -70,7 +72,7 @@ async fn serve_file(garage: Arc<Garage>, req: Request<Body>) -> Result<Response<
.to_str()?;
// Get bucket
let host = authority_to_host(authority)?;
let (host, _) = domain_to_unicode(authority_to_host(authority)?);
let root = &garage.config.s3_web.root_domain;
let bucket = host_to_bucket(&host, root);