Fix "Post url contains non-ASCII characters" error (#479)
This commit is contained in:
parent
7f5bfc04b3
commit
90828cc71c
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -596,6 +596,7 @@ dependencies = [
|
||||
"futures-lite",
|
||||
"hyper",
|
||||
"hyper-rustls",
|
||||
"percent-encoding",
|
||||
"regex",
|
||||
"route-recognizer",
|
||||
"rust-embed",
|
||||
|
@ -18,6 +18,7 @@ cookie = "0.16.0"
|
||||
futures-lite = "1.12.0"
|
||||
hyper = { version = "0.14.18", features = ["full"] }
|
||||
hyper-rustls = "0.23.0"
|
||||
percent-encoding = "2.1.0"
|
||||
route-recognizer = "0.3.1"
|
||||
serde_json = "1.0.81"
|
||||
tokio = { version = "1.18.2", features = ["full"] }
|
||||
|
@ -1,6 +1,7 @@
|
||||
use cached::proc_macro::cached;
|
||||
use futures_lite::{future::Boxed, FutureExt};
|
||||
use hyper::{body::Buf, client, Body, Request, Response, Uri};
|
||||
use percent_encoding::{percent_encode, CONTROLS};
|
||||
use serde_json::Value;
|
||||
use std::result::Result;
|
||||
|
||||
@ -90,7 +91,7 @@ fn request(url: String, quarantine: bool) -> Boxed<Result<Response<Body>, String
|
||||
.headers()
|
||||
.get("Location")
|
||||
.map(|val| {
|
||||
let new_url = val.to_str().unwrap_or_default();
|
||||
let new_url = percent_encode(val.as_bytes(), CONTROLS).to_string();
|
||||
format!("{}{}raw_json=1", new_url, if new_url.contains('?') { "&" } else { "?" })
|
||||
})
|
||||
.unwrap_or_default()
|
||||
|
Loading…
Reference in New Issue
Block a user