Skip to content

Make reqwest an optional dependency #211

@emilk

Description

@emilk

reqwest has a huge dependency tree, including tokio and hyper, and it would be nice to only have to pull that in if one actually plan on loading assets over HTTP (which I don't).

From cargo tree:

reqwest v0.11.9
├── base64 v0.13.0
├── bytes v1.1.0
├── encoding_rs v0.8.30
│   └── cfg-if v1.0.0
├── futures-core v0.3.21
├── futures-util v0.3.21
│   ├── futures-core v0.3.21
│   ├── futures-task v0.3.21
│   ├── pin-project-lite v0.2.8
│   └── pin-utils v0.1.0
├── h2 v0.3.11
│   ├── bytes v1.1.0
│   ├── fnv v1.0.7
│   ├── futures-core v0.3.21
│   ├── futures-sink v0.3.21
│   ├── futures-util v0.3.21 (*)
│   ├── http v0.2.6
│   │   ├── bytes v1.1.0
│   │   ├── fnv v1.0.7
│   │   └── itoa v1.0.1
│   ├── indexmap v1.8.0
│   │   └── hashbrown v0.11.2
│   │   [build-dependencies]
│   │   └── autocfg v1.1.0
│   ├── slab v0.4.5
│   ├── tokio v1.17.0
│   │   ├── bytes v1.1.0
│   │   ├── libc v0.2.119
│   │   ├── memchr v2.4.1
│   │   ├── mio v0.8.0
│   │   │   ├── libc v0.2.119
│   │   │   └── log v0.4.14 (*)
│   │   ├── num_cpus v1.13.1
│   │   │   └── libc v0.2.119
│   │   ├── pin-project-lite v0.2.8
│   │   ├── socket2 v0.4.4
│   │   │   └── libc v0.2.119
│   │   └── tokio-macros v1.7.0 (proc-macro)
│   │       ├── proc-macro2 v1.0.36 (*)
│   │       ├── quote v1.0.15 (*)
│   │       └── syn v1.0.86 (*)
│   ├── tokio-util v0.6.9
│   │   ├── bytes v1.1.0
│   │   ├── futures-core v0.3.21
│   │   ├── futures-sink v0.3.21
│   │   ├── log v0.4.14 (*)
│   │   ├── pin-project-lite v0.2.8
│   │   └── tokio v1.17.0 (*)
│   └── tracing v0.1.31
│       ├── cfg-if v1.0.0
│       ├── pin-project-lite v0.2.8
│       └── tracing-core v0.1.22
│           └── lazy_static v1.4.0
├── http v0.2.6 (*)
├── http-body v0.4.4
│   ├── bytes v1.1.0
│   ├── http v0.2.6 (*)
│   └── pin-project-lite v0.2.8
├── hyper v0.14.17
│   ├── bytes v1.1.0
│   ├── futures-channel v0.3.21
│   │   └── futures-core v0.3.21
│   ├── futures-core v0.3.21
│   ├── futures-util v0.3.21 (*)
│   ├── h2 v0.3.11 (*)
│   ├── http v0.2.6 (*)
│   ├── http-body v0.4.4 (*)
│   ├── httparse v1.6.0
│   ├── httpdate v1.0.2
│   ├── itoa v1.0.1
│   ├── pin-project-lite v0.2.8
│   ├── socket2 v0.4.4 (*)
│   ├── tokio v1.17.0 (*)
│   ├── tower-service v0.3.1
│   ├── tracing v0.1.31 (*)
│   └── want v0.3.0
│       ├── log v0.4.14 (*)
│       └── try-lock v0.2.3
├── hyper-tls v0.5.0
│   ├── bytes v1.1.0
│   ├── hyper v0.14.17 (*)
│   ├── native-tls v0.2.8
│   │   ├── lazy_static v1.4.0
│   │   ├── libc v0.2.119
│   │   ├── security-framework v2.6.1
│   │   │   ├── bitflags v1.3.2
│   │   │   ├── core-foundation v0.9.3 (*)
│   │   │   ├── core-foundation-sys v0.8.3
│   │   │   ├── libc v0.2.119
│   │   │   └── security-framework-sys v2.6.1
│   │   │       ├── core-foundation-sys v0.8.3
│   │   │       └── libc v0.2.119
│   │   ├── security-framework-sys v2.6.1 (*)
│   │   └── tempfile v3.3.0
│   │       ├── cfg-if v1.0.0
│   │       ├── fastrand v1.7.0
│   │       ├── libc v0.2.119
│   │       └── remove_dir_all v0.5.3
│   ├── tokio v1.17.0 (*)
│   └── tokio-native-tls v0.3.0
│       ├── native-tls v0.2.8 (*)
│       └── tokio v1.17.0 (*)
├── ipnet v2.4.0
├── lazy_static v1.4.0
├── log v0.4.14 (*)
├── mime v0.3.16
├── native-tls v0.2.8 (*)
├── percent-encoding v2.1.0
├── pin-project-lite v0.2.8
├── serde v1.0.136 (*)
├── serde_urlencoded v0.7.1
│   ├── form_urlencoded v1.0.1
│   │   ├── matches v0.1.9
│   │   └── percent-encoding v2.1.0
│   ├── itoa v1.0.1
│   ├── ryu v1.0.9
│   └── serde v1.0.136 (*)
├── tokio v1.17.0 (*)
├── tokio-native-tls v0.3.0 (*)
└── url v2.2.2
    ├── form_urlencoded v1.0.1 (*)
    ├── idna v0.2.3
    │   ├── matches v0.1.9
    │   ├── unicode-bidi v0.3.7
    │   └── unicode-normalization v0.1.19
    │       └── tinyvec v1.5.1
    │           └── tinyvec_macros v0.1.0
    ├── matches v0.1.9
    └── percent-encoding v2.1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions