feat: udpate fetch-rs

This commit is contained in:
2023-06-04 14:20:40 +08:00
parent 8aba71a72b
commit 38b8fbe37f
2 changed files with 7 additions and 7 deletions

View File

@@ -22,12 +22,12 @@ let response = fetch(
"https://hatter.ink/util/print_request.action",
&FetchOptions {
method: FetchMethod::Post,
headers: Some(vec![
headers: vec![
FetchHeader {
key: "content-type".to_string(),
value: "application/json".to_string(),
}
]),
],
body: Some("{}".as_bytes().to_vec()),
..Default::default()
})?;

View File

@@ -28,12 +28,12 @@ fn main() -> XResult<()> {
"https://hatter.ink/util/print_request.action",
&FetchOptions {
method: FetchMethod::Post,
headers: Some(vec![
headers: vec![
FetchHeader {
key: "content-type".to_string(),
value: "application/json".to_string(),
}
]),
],
body: Some("{}".as_bytes().to_vec()),
..Default::default()
})?;
@@ -83,7 +83,7 @@ pub struct FetchHeader {
#[derive(Clone, Debug, Default)]
pub struct FetchOptions {
pub method: FetchMethod,
pub headers: Option<Vec<FetchHeader>>,
pub headers: Vec<FetchHeader>,
pub body: Option<Vec<u8>>,
// FIXME connect timeout or read timeout?
pub timeout: Option<Duration>,
@@ -135,9 +135,9 @@ pub fn fetch(url: &str, option: &FetchOptions) -> XResult<FetchResponse> {
if let Some(timeout) = &option.timeout {
let _ = request.timeout_mut().insert(timeout.to_owned());
}
if let Some(headers) = &option.headers {
if !option.headers.is_empty() {
let headers_mut = request.headers_mut();
for header in headers {
for header in &option.headers {
let header_name = HeaderName::from_str(&header.key)?;
let header_value = HeaderValue::from_str(&header.value)?;
headers_mut.insert(header_name, header_value);