Use surf instead of reqwest

This commit is contained in:
spikecodes 2020-11-20 18:31:11 -08:00
parent 2236567b58
commit 4dbb5367e7
4 changed files with 1148 additions and 296 deletions

894
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -3,13 +3,13 @@ name = "libreddit"
description = " Alternative private front-end to Reddit"
license = "AGPL-3.0"
repository = "https://github.com/spikecodes/libreddit"
version = "0.1.3"
version = "0.1.4"
authors = ["spikecodes <19519553+spikecodes@users.noreply.github.com>"]
edition = "2018"
[dependencies]
actix-web = "3.2.0"
reqwest = "0.10.8"
surf = "2.1.0"
askama = "0.8.0"
serde = "1.0.117"
serde_json = "1.0"

View File

@ -98,17 +98,18 @@ pub async fn request(url: String) -> Result<serde_json::Value, &'static str> {
// let body = std::str::from_utf8(res.as_ref())?; // .as_ref converts Bytes to [u8]
// --- surf ---
// let req = surf::get(url);
// let client = surf::client().with(surf::middleware::Redirect::new(5));
// let mut res = client.send(req).await.unwrap();
// let body = res.body_string().await.unwrap();
let req = surf::get(&url).header("User-Agent", "libreddit");
let client = surf::client().with(surf::middleware::Redirect::new(5));
let mut res = client.send(req).await.unwrap();
let success = res.status().is_success();
let body = res.body_string().await.unwrap();
// --- reqwest ---
let res = reqwest::get(&url).await.unwrap();
// Read the status from the response
let success = res.status().is_success();
// Read the body of the response
let body = res.text().await.unwrap();
// let res = reqwest::get(&url).await.unwrap();
// // Read the status from the response
// let success = res.status().is_success();
// // Read the body of the response
// let body = res.text().await.unwrap();
// Parse the response from Reddit as JSON
let json: serde_json::Value = serde_json::from_str(body.as_str()).unwrap_or(serde_json::Value::Null);

527
tree.txt Normal file
View File

@ -0,0 +1,527 @@
libreddit v0.1.3 (/home/spike/Documents/coding/libreddit)
├── actix-web v3.2.0
│ ├── actix-codec v0.3.0
│ │ ├── bitflags v1.2.1
│ │ ├── bytes v0.5.6
│ │ ├── futures-core v0.3.8
│ │ ├── futures-sink v0.3.8
│ │ ├── log v0.4.11
│ │ │ └── cfg-if v0.1.10
│ │ ├── pin-project v0.4.27
│ │ │ └── pin-project-internal v0.4.27
│ │ │ ├── proc-macro2 v1.0.24
│ │ │ │ └── unicode-xid v0.2.1
│ │ │ ├── quote v1.0.7
│ │ │ │ └── proc-macro2 v1.0.24 (*)
│ │ │ └── syn v1.0.48
│ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── unicode-xid v0.2.1
│ │ ├── tokio v0.2.23
│ │ │ ├── bytes v0.5.6
│ │ │ ├── fnv v1.0.7
│ │ │ ├── futures-core v0.3.8
│ │ │ ├── iovec v0.1.4
│ │ │ │ └── libc v0.2.80
│ │ │ ├── lazy_static v1.4.0
│ │ │ ├── libc v0.2.80
│ │ │ ├── memchr v2.3.4
│ │ │ ├── mio v0.6.22
│ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ ├── iovec v0.1.4 (*)
│ │ │ │ ├── libc v0.2.80
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── net2 v0.2.35
│ │ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ │ └── libc v0.2.80
│ │ │ │ └── slab v0.4.2
│ │ │ ├── mio-uds v0.6.8
│ │ │ │ ├── iovec v0.1.4 (*)
│ │ │ │ ├── libc v0.2.80
│ │ │ │ └── mio v0.6.22 (*)
│ │ │ ├── pin-project-lite v0.1.11
│ │ │ ├── signal-hook-registry v1.2.2
│ │ │ │ └── libc v0.2.80
│ │ │ └── slab v0.4.2
│ │ └── tokio-util v0.3.1
│ │ ├── bytes v0.5.6
│ │ ├── futures-core v0.3.8
│ │ ├── futures-sink v0.3.8
│ │ ├── log v0.4.11 (*)
│ │ ├── pin-project-lite v0.1.11
│ │ └── tokio v0.2.23 (*)
│ ├── actix-http v2.1.0
│ │ ├── actix-codec v0.3.0 (*)
│ │ ├── actix-connect v2.0.0
│ │ │ ├── actix-codec v0.3.0 (*)
│ │ │ ├── actix-rt v1.1.1
│ │ │ │ ├── actix-macros v0.1.2
│ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ ├── actix-threadpool v0.3.3
│ │ │ │ │ ├── derive_more v0.99.11
│ │ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ │ ├── futures-channel v0.3.8
│ │ │ │ │ │ ├── futures-core v0.3.8
│ │ │ │ │ │ └── futures-sink v0.3.8
│ │ │ │ │ ├── lazy_static v1.4.0
│ │ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ │ ├── num_cpus v1.13.0
│ │ │ │ │ │ └── libc v0.2.80
│ │ │ │ │ ├── parking_lot v0.11.1
│ │ │ │ │ │ ├── instant v0.1.9
│ │ │ │ │ │ │ └── cfg-if v1.0.0
│ │ │ │ │ │ ├── lock_api v0.4.2
│ │ │ │ │ │ │ └── scopeguard v1.1.0
│ │ │ │ │ │ └── parking_lot_core v0.8.0
│ │ │ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ │ │ ├── instant v0.1.9 (*)
│ │ │ │ │ │ ├── libc v0.2.80
│ │ │ │ │ │ └── smallvec v1.5.0
│ │ │ │ │ └── threadpool v1.8.1
│ │ │ │ │ └── num_cpus v1.13.0 (*)
│ │ │ │ ├── copyless v0.1.5
│ │ │ │ ├── futures-channel v0.3.8 (*)
│ │ │ │ ├── futures-util v0.3.8
│ │ │ │ │ ├── futures-channel v0.3.8 (*)
│ │ │ │ │ ├── futures-core v0.3.8
│ │ │ │ │ ├── futures-io v0.3.8
│ │ │ │ │ ├── futures-macro v0.3.8
│ │ │ │ │ │ ├── proc-macro-hack v0.5.19
│ │ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ │ ├── futures-sink v0.3.8
│ │ │ │ │ ├── futures-task v0.3.8
│ │ │ │ │ │ └── once_cell v1.5.2
│ │ │ │ │ ├── memchr v2.3.4
│ │ │ │ │ ├── pin-project v1.0.2
│ │ │ │ │ │ └── pin-project-internal v1.0.2
│ │ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ │ ├── pin-utils v0.1.0
│ │ │ │ │ ├── proc-macro-hack v0.5.19
│ │ │ │ │ ├── proc-macro-nested v0.1.6
│ │ │ │ │ └── slab v0.4.2
│ │ │ │ ├── smallvec v1.5.0
│ │ │ │ └── tokio v0.2.23 (*)
│ │ │ ├── actix-service v1.0.6
│ │ │ │ ├── futures-util v0.3.8 (*)
│ │ │ │ └── pin-project v0.4.27 (*)
│ │ │ ├── actix-utils v2.0.0
│ │ │ │ ├── actix-codec v0.3.0 (*)
│ │ │ │ ├── actix-rt v1.1.1 (*)
│ │ │ │ ├── actix-service v1.0.6 (*)
│ │ │ │ ├── bitflags v1.2.1
│ │ │ │ ├── bytes v0.5.6
│ │ │ │ ├── either v1.6.1
│ │ │ │ ├── futures-channel v0.3.8 (*)
│ │ │ │ ├── futures-sink v0.3.8
│ │ │ │ ├── futures-util v0.3.8 (*)
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── pin-project v0.4.27 (*)
│ │ │ │ └── slab v0.4.2
│ │ │ ├── derive_more v0.99.11 (*)
│ │ │ ├── either v1.6.1
│ │ │ ├── futures-util v0.3.8 (*)
│ │ │ ├── http v0.2.1
│ │ │ │ ├── bytes v0.5.6
│ │ │ │ ├── fnv v1.0.7
│ │ │ │ └── itoa v0.4.6
│ │ │ ├── log v0.4.11 (*)
│ │ │ ├── trust-dns-proto v0.19.6
│ │ │ │ ├── async-trait v0.1.41
│ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ ├── backtrace v0.3.55
│ │ │ │ │ ├── addr2line v0.14.0
│ │ │ │ │ │ └── gimli v0.23.0
│ │ │ │ │ ├── cfg-if v1.0.0
│ │ │ │ │ ├── libc v0.2.80
│ │ │ │ │ ├── miniz_oxide v0.4.3
│ │ │ │ │ │ └── adler v0.2.3
│ │ │ │ │ │ [build-dependencies]
│ │ │ │ │ │ └── autocfg v1.0.1
│ │ │ │ │ ├── object v0.22.0
│ │ │ │ │ └── rustc-demangle v0.1.18
│ │ │ │ ├── enum-as-inner v0.3.3
│ │ │ │ │ ├── heck v0.3.1
│ │ │ │ │ │ └── unicode-segmentation v1.7.0
│ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ ├── futures v0.3.8
│ │ │ │ │ ├── futures-channel v0.3.8 (*)
│ │ │ │ │ ├── futures-core v0.3.8
│ │ │ │ │ ├── futures-io v0.3.8
│ │ │ │ │ ├── futures-sink v0.3.8
│ │ │ │ │ ├── futures-task v0.3.8 (*)
│ │ │ │ │ └── futures-util v0.3.8 (*)
│ │ │ │ ├── idna v0.2.0
│ │ │ │ │ ├── matches v0.1.8
│ │ │ │ │ ├── unicode-bidi v0.3.4
│ │ │ │ │ │ └── matches v0.1.8
│ │ │ │ │ └── unicode-normalization v0.1.16
│ │ │ │ │ └── tinyvec v1.1.0
│ │ │ │ │ └── tinyvec_macros v0.1.0
│ │ │ │ ├── lazy_static v1.4.0
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── rand v0.7.3
│ │ │ │ │ ├── getrandom v0.1.15
│ │ │ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ │ │ └── libc v0.2.80
│ │ │ │ │ ├── libc v0.2.80
│ │ │ │ │ ├── rand_chacha v0.2.2
│ │ │ │ │ │ ├── ppv-lite86 v0.2.10
│ │ │ │ │ │ └── rand_core v0.5.1
│ │ │ │ │ │ └── getrandom v0.1.15 (*)
│ │ │ │ │ └── rand_core v0.5.1 (*)
│ │ │ │ ├── smallvec v1.5.0
│ │ │ │ ├── thiserror v1.0.22
│ │ │ │ │ └── thiserror-impl v1.0.22
│ │ │ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ │ └── syn v1.0.48 (*)
│ │ │ │ ├── tokio v0.2.23 (*)
│ │ │ │ └── url v2.2.0
│ │ │ │ ├── form_urlencoded v1.0.0
│ │ │ │ │ ├── matches v0.1.8
│ │ │ │ │ └── percent-encoding v2.1.0
│ │ │ │ ├── idna v0.2.0 (*)
│ │ │ │ ├── matches v0.1.8
│ │ │ │ └── percent-encoding v2.1.0
│ │ │ └── trust-dns-resolver v0.19.6
│ │ │ ├── backtrace v0.3.55 (*)
│ │ │ ├── cfg-if v0.1.10
│ │ │ ├── futures v0.3.8 (*)
│ │ │ ├── lazy_static v1.4.0
│ │ │ ├── log v0.4.11 (*)
│ │ │ ├── lru-cache v0.1.2
│ │ │ │ └── linked-hash-map v0.5.3
│ │ │ ├── resolv-conf v0.7.0
│ │ │ │ ├── hostname v0.3.1
│ │ │ │ │ ├── libc v0.2.80
│ │ │ │ │ └── match_cfg v0.1.0
│ │ │ │ └── quick-error v1.2.3
│ │ │ ├── smallvec v1.5.0
│ │ │ ├── thiserror v1.0.22 (*)
│ │ │ ├── tokio v0.2.23 (*)
│ │ │ └── trust-dns-proto v0.19.6 (*)
│ │ ├── actix-rt v1.1.1 (*)
│ │ ├── actix-service v1.0.6 (*)
│ │ ├── actix-threadpool v0.3.3 (*)
│ │ ├── actix-utils v2.0.0 (*)
│ │ ├── base64 v0.13.0
│ │ ├── bitflags v1.2.1
│ │ ├── brotli2 v0.3.2
│ │ │ ├── brotli-sys v0.3.2
│ │ │ │ └── libc v0.2.80
│ │ │ │ [build-dependencies]
│ │ │ │ └── cc v1.0.65
│ │ │ └── libc v0.2.80
│ │ ├── bytes v0.5.6
│ │ ├── cookie v0.14.3
│ │ │ ├── percent-encoding v2.1.0
│ │ │ └── time v0.2.23
│ │ │ ├── const_fn v0.4.3
│ │ │ ├── libc v0.2.80
│ │ │ ├── standback v0.2.13
│ │ │ │ [build-dependencies]
│ │ │ │ └── version_check v0.9.2
│ │ │ └── time-macros v0.1.1
│ │ │ ├── proc-macro-hack v0.5.19
│ │ │ └── time-macros-impl v0.1.1
│ │ │ ├── proc-macro-hack v0.5.19
│ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ ├── standback v0.2.13 (*)
│ │ │ └── syn v1.0.48 (*)
│ │ │ [build-dependencies]
│ │ │ └── version_check v0.9.2
│ │ │ [build-dependencies]
│ │ │ └── version_check v0.9.2
│ │ ├── copyless v0.1.5
│ │ ├── derive_more v0.99.11 (*)
│ │ ├── either v1.6.1
│ │ ├── encoding_rs v0.8.26
│ │ │ └── cfg-if v1.0.0
│ │ ├── flate2 v1.0.19
│ │ │ ├── cfg-if v1.0.0
│ │ │ ├── crc32fast v1.2.1
│ │ │ │ └── cfg-if v1.0.0
│ │ │ ├── libc v0.2.80
│ │ │ └── miniz_oxide v0.4.3 (*)
│ │ ├── futures-channel v0.3.8 (*)
│ │ ├── futures-core v0.3.8
│ │ ├── futures-util v0.3.8 (*)
│ │ ├── fxhash v0.2.1
│ │ │ └── byteorder v1.3.4
│ │ ├── h2 v0.2.7
│ │ │ ├── bytes v0.5.6
│ │ │ ├── fnv v1.0.7
│ │ │ ├── futures-core v0.3.8
│ │ │ ├── futures-sink v0.3.8
│ │ │ ├── futures-util v0.3.8 (*)
│ │ │ ├── http v0.2.1 (*)
│ │ │ ├── indexmap v1.6.0
│ │ │ │ └── hashbrown v0.9.1
│ │ │ │ [build-dependencies]
│ │ │ │ └── autocfg v1.0.1
│ │ │ ├── slab v0.4.2
│ │ │ ├── tokio v0.2.23 (*)
│ │ │ ├── tokio-util v0.3.1 (*)
│ │ │ ├── tracing v0.1.21
│ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── pin-project-lite v0.1.11
│ │ │ │ └── tracing-core v0.1.17
│ │ │ │ └── lazy_static v1.4.0
│ │ │ └── tracing-futures v0.2.4
│ │ │ ├── pin-project v0.4.27 (*)
│ │ │ └── tracing v0.1.21 (*)
│ │ ├── http v0.2.1 (*)
│ │ ├── httparse v1.3.4
│ │ ├── indexmap v1.6.0 (*)
│ │ ├── itoa v0.4.6
│ │ ├── language-tags v0.2.2
│ │ ├── lazy_static v1.4.0
│ │ ├── log v0.4.11 (*)
│ │ ├── mime v0.3.16
│ │ ├── percent-encoding v2.1.0
│ │ ├── pin-project v1.0.2 (*)
│ │ ├── rand v0.7.3 (*)
│ │ ├── regex v1.4.2
│ │ │ ├── aho-corasick v0.7.15
│ │ │ │ └── memchr v2.3.4
│ │ │ ├── memchr v2.3.4
│ │ │ ├── regex-syntax v0.6.21
│ │ │ └── thread_local v1.0.1
│ │ │ └── lazy_static v1.4.0
│ │ ├── serde v1.0.117
│ │ │ └── serde_derive v1.0.117
│ │ │ ├── proc-macro2 v1.0.24 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── syn v1.0.48 (*)
│ │ ├── serde_json v1.0.59
│ │ │ ├── itoa v0.4.6
│ │ │ ├── ryu v1.0.5
│ │ │ └── serde v1.0.117 (*)
│ │ ├── serde_urlencoded v0.6.1
│ │ │ ├── dtoa v0.4.6
│ │ │ ├── itoa v0.4.6
│ │ │ ├── serde v1.0.117 (*)
│ │ │ └── url v2.2.0 (*)
│ │ ├── sha-1 v0.9.2
│ │ │ ├── block-buffer v0.9.0
│ │ │ │ └── generic-array v0.14.4
│ │ │ │ └── typenum v1.12.0
│ │ │ │ [build-dependencies]
│ │ │ │ └── version_check v0.9.2
│ │ │ ├── cfg-if v1.0.0
│ │ │ ├── cpuid-bool v0.1.2
│ │ │ ├── digest v0.9.0
│ │ │ │ └── generic-array v0.14.4 (*)
│ │ │ └── opaque-debug v0.3.0
│ │ ├── slab v0.4.2
│ │ └── time v0.2.23 (*)
│ ├── actix-macros v0.1.2 (*)
│ ├── actix-router v0.2.5
│ │ ├── bytestring v0.1.5
│ │ │ └── bytes v0.5.6
│ │ ├── http v0.2.1 (*)
│ │ ├── log v0.4.11 (*)
│ │ ├── regex v1.4.2 (*)
│ │ └── serde v1.0.117 (*)
│ ├── actix-rt v1.1.1 (*)
│ ├── actix-server v1.0.4
│ │ ├── actix-codec v0.3.0 (*)
│ │ ├── actix-rt v1.1.1 (*)
│ │ ├── actix-service v1.0.6 (*)
│ │ ├── actix-utils v2.0.0 (*)
│ │ ├── futures-channel v0.3.8 (*)
│ │ ├── futures-util v0.3.8 (*)
│ │ ├── log v0.4.11 (*)
│ │ ├── mio v0.6.22 (*)
│ │ ├── mio-uds v0.6.8 (*)
│ │ ├── num_cpus v1.13.0 (*)
│ │ ├── slab v0.4.2
│ │ └── socket2 v0.3.16
│ │ ├── cfg-if v0.1.10
│ │ └── libc v0.2.80
│ ├── actix-service v1.0.6 (*)
│ ├── actix-testing v1.0.1
│ │ ├── actix-macros v0.1.2 (*)
│ │ ├── actix-rt v1.1.1 (*)
│ │ ├── actix-server v1.0.4 (*)
│ │ ├── actix-service v1.0.6 (*)
│ │ ├── log v0.4.11 (*)
│ │ └── socket2 v0.3.16 (*)
│ ├── actix-threadpool v0.3.3 (*)
│ ├── actix-tls v2.0.0
│ │ ├── actix-codec v0.3.0 (*)
│ │ ├── actix-service v1.0.6 (*)
│ │ ├── actix-utils v2.0.0 (*)
│ │ └── futures-util v0.3.8 (*)
│ ├── actix-utils v2.0.0 (*)
│ ├── actix-web-codegen v0.4.0
│ │ ├── proc-macro2 v1.0.24 (*)
│ │ ├── quote v1.0.7 (*)
│ │ └── syn v1.0.48 (*)
│ ├── awc v2.0.1
│ │ ├── actix-codec v0.3.0 (*)
│ │ ├── actix-http v2.1.0 (*)
│ │ ├── actix-rt v1.1.1 (*)
│ │ ├── actix-service v1.0.6 (*)
│ │ ├── base64 v0.13.0
│ │ ├── bytes v0.5.6
│ │ ├── cfg-if v1.0.0
│ │ ├── derive_more v0.99.11 (*)
│ │ ├── futures-core v0.3.8
│ │ ├── log v0.4.11 (*)
│ │ ├── mime v0.3.16
│ │ ├── percent-encoding v2.1.0
│ │ ├── rand v0.7.3 (*)
│ │ ├── serde v1.0.117 (*)
│ │ ├── serde_json v1.0.59 (*)
│ │ └── serde_urlencoded v0.6.1 (*)
│ ├── bytes v0.5.6
│ ├── derive_more v0.99.11 (*)
│ ├── encoding_rs v0.8.26 (*)
│ ├── futures-channel v0.3.8 (*)
│ ├── futures-core v0.3.8
│ ├── futures-util v0.3.8 (*)
│ ├── fxhash v0.2.1 (*)
│ ├── log v0.4.11 (*)
│ ├── mime v0.3.16
│ ├── pin-project v1.0.2 (*)
│ ├── regex v1.4.2 (*)
│ ├── serde v1.0.117 (*)
│ ├── serde_json v1.0.59 (*)
│ ├── serde_urlencoded v0.6.1 (*)
│ ├── socket2 v0.3.16 (*)
│ ├── time v0.2.23 (*)
│ ├── tinyvec v1.1.0 (*)
│ └── url v2.2.0 (*)
├── askama v0.8.0
│ ├── askama_derive v0.8.0
│ │ ├── askama_shared v0.8.0
│ │ │ ├── askama_escape v0.2.0
│ │ │ ├── humansize v1.1.0
│ │ │ ├── num-traits v0.2.14
│ │ │ │ [build-dependencies]
│ │ │ │ └── autocfg v1.0.1
│ │ │ ├── serde v1.0.117 (*)
│ │ │ ├── serde_derive v1.0.117 (*)
│ │ │ └── toml v0.4.10
│ │ │ └── serde v1.0.117 (*)
│ │ ├── nom v4.2.3
│ │ │ └── memchr v2.3.4
│ │ │ [build-dependencies]
│ │ │ └── version_check v0.1.5
│ │ ├── proc-macro2 v0.4.30
│ │ │ └── unicode-xid v0.1.0
│ │ ├── quote v0.6.13
│ │ │ └── proc-macro2 v0.4.30 (*)
│ │ └── syn v0.15.44
│ │ ├── proc-macro2 v0.4.30 (*)
│ │ ├── quote v0.6.13 (*)
│ │ └── unicode-xid v0.1.0
│ ├── askama_escape v0.2.0
│ └── askama_shared v0.8.0 (*)
├── chrono v0.4.19
│ ├── libc v0.2.80
│ ├── num-integer v0.1.44
│ │ └── num-traits v0.2.14 (*)
│ │ [build-dependencies]
│ │ └── autocfg v1.0.1
│ ├── num-traits v0.2.14 (*)
│ └── time v0.1.44
│ └── libc v0.2.80
├── pulldown-cmark v0.8.0
│ ├── bitflags v1.2.1
│ ├── getopts v0.2.21
│ │ └── unicode-width v0.1.8
│ ├── memchr v2.3.4
│ └── unicase v2.6.0
│ [build-dependencies]
│ └── version_check v0.9.2
├── reqwest v0.10.9
│ ├── base64 v0.13.0
│ ├── bytes v0.5.6
│ ├── encoding_rs v0.8.26 (*)
│ ├── futures-core v0.3.8
│ ├── futures-util v0.3.8 (*)
│ ├── http v0.2.1 (*)
│ ├── http-body v0.3.1
│ │ ├── bytes v0.5.6
│ │ └── http v0.2.1 (*)
│ ├── hyper v0.13.9
│ │ ├── bytes v0.5.6
│ │ ├── futures-channel v0.3.8 (*)
│ │ ├── futures-core v0.3.8
│ │ ├── futures-util v0.3.8 (*)
│ │ ├── h2 v0.2.7 (*)
│ │ ├── http v0.2.1 (*)
│ │ ├── http-body v0.3.1 (*)
│ │ ├── httparse v1.3.4
│ │ ├── httpdate v0.3.2
│ │ ├── itoa v0.4.6
│ │ ├── pin-project v1.0.2 (*)
│ │ ├── socket2 v0.3.16 (*)
│ │ ├── tokio v0.2.23 (*)
│ │ ├── tower-service v0.3.0
│ │ ├── tracing v0.1.21 (*)
│ │ └── want v0.3.0
│ │ ├── log v0.4.11 (*)
│ │ └── try-lock v0.2.3
│ ├── hyper-tls v0.4.3
│ │ ├── bytes v0.5.6
│ │ ├── hyper v0.13.9 (*)
│ │ ├── native-tls v0.2.6
│ │ │ ├── log v0.4.11 (*)
│ │ │ ├── openssl v0.10.30
│ │ │ │ ├── bitflags v1.2.1
│ │ │ │ ├── cfg-if v0.1.10
│ │ │ │ ├── foreign-types v0.3.2
│ │ │ │ │ └── foreign-types-shared v0.1.1
│ │ │ │ ├── lazy_static v1.4.0
│ │ │ │ ├── libc v0.2.80
│ │ │ │ └── openssl-sys v0.9.58
│ │ │ │ └── libc v0.2.80
│ │ │ │ [build-dependencies]
│ │ │ │ ├── autocfg v1.0.1
│ │ │ │ ├── cc v1.0.65
│ │ │ │ └── pkg-config v0.3.19
│ │ │ ├── openssl-probe v0.1.2
│ │ │ └── openssl-sys v0.9.58 (*)
│ │ ├── tokio v0.2.23 (*)
│ │ └── tokio-tls v0.3.1
│ │ ├── native-tls v0.2.6 (*)
│ │ └── tokio v0.2.23 (*)
│ ├── ipnet v2.3.0
│ ├── lazy_static v1.4.0
│ ├── log v0.4.11 (*)
│ ├── mime v0.3.16
│ ├── mime_guess v2.0.3
│ │ ├── mime v0.3.16
│ │ └── unicase v2.6.0 (*)
│ │ [build-dependencies]
│ │ └── unicase v2.6.0 (*)
│ ├── native-tls v0.2.6 (*)
│ ├── percent-encoding v2.1.0
│ ├── pin-project-lite v0.2.0
│ ├── serde v1.0.117 (*)
│ ├── serde_urlencoded v0.7.0
│ │ ├── form_urlencoded v1.0.0 (*)
│ │ ├── itoa v0.4.6
│ │ ├── ryu v1.0.5
│ │ └── serde v1.0.117 (*)
│ ├── tokio v0.2.23 (*)
│ ├── tokio-tls v0.3.1 (*)
│ └── url v2.2.0 (*)
├── serde v1.0.117 (*)
└── serde_json v1.0.59 (*)