lychee/examples/builder/Cargo.toml

22 lines
609 B
TOML
Raw Normal View History

2021-04-30 11:33:24 +00:00
[package]
name = "builder"
version = "0.1.0"
2021-12-17 00:32:13 +00:00
edition = "2021"
2021-04-30 11:33:24 +00:00
[[example]]
name = "builder"
path = "builder.rs"
[dependencies]
Add optional Rustls support (#1099) * Add optional Rustls support This commit adds a non-default feature flag to use Rustls instead of OpenSSL. My personal motivation is to use Lychee on OpenBSD -current, where the `openssl` crate frequently fails to link against the unreleased system LibreSSL. Using the `vendored-openssl` feature helps with compilation, but segfaults at runtime. The commit adds three feature flags to the library, binary, benchmark, and all examples: - The `native-tls` feature flag toggles the `openssl` crate. - The `rustls-tls` feature flag toggles the `rustls` crate. - The `email-check` feature flag toggles the `check-if-email-exists` crate, which is the only existing functionality currently incompatible with Rustls. By default, `native-tls` and `email-check` are enabled. Thus, Lychee (bin and lib) can be used as before unless default features are disabled. To use the Rustls feature, pass `--no-default-features --features rustls` to cargo check/build/test/..., e.g., $ cargo clippy --workspace --all-targets --no-default-features \ --features rustls-tls -- --deny warnings Checking email addresses requires both, `native-tls` and `email-check`, to be enabled. Otherwise, email addresses are excluded. The `email-check` feature flag is technically not necessary. I preferred it over `not(rustls-tls)` because it's clearer and it addresses the AGPL license issue #594. As far as I understand, a Lychee binary compiled without the `email-check` feature could be distributed with file-based copyleft for the MPL-licensed dependencies only. But that's out of scope here. The benchmark shows a performance regression varying between 2% and 4.4% when using Rustls instead of OpenSSL on my machine. PS: The `ring` crate needs to be patched on OpenBSD 7.3 and later until the new xonly patches have been upstreamed, see the `rust-ring` port. * Use platform native certificates with Rustls By default, reqwest uses the webpki-roots crate with Rustls, effectively bundling Mozilla's root certificates. This commit uses the rustls-native-certs crate instead to use locally installed root certificates, to minimize the difference between the native-tls and rustls-tls features. * Document feature flags
2023-06-16 00:21:57 +00:00
lychee-lib = { path = "../../lychee-lib", version = "0.13.0", default-features = false }
tokio = { version = "1.32.0", features = ["full"] }
Bump the dependencies group with 14 updates (#1260) Bumps the dependencies group with 14 updates: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.4.2` | `4.4.6` | | [indicatif](https://github.com/console-rs/indicatif) | `0.17.6` | `0.17.7` | | [openssl-sys](https://github.com/sfackler/rust-openssl) | `0.9.92` | `0.9.93` | | [regex](https://github.com/rust-lang/regex) | `1.9.5` | `1.9.6` | | [ring](https://github.com/briansmith/ring) | `0.16.20` | `0.17.0` | | [serde_json](https://github.com/serde-rs/json) | `1.0.105` | `1.0.107` | | [supports-color](https://github.com/zkat/supports-color) | `2.0.0` | `2.1.0` | | [toml](https://github.com/toml-rs/toml) | `0.7.6` | `0.8.1` | | [predicates](https://github.com/assert-rs/predicates-rs) | `3.0.3` | `3.0.4` | | [cached](https://github.com/jaemk/cached) | `0.44.0` | `0.46.0` | | [octocrab](https://github.com/XAMPPRocky/octocrab) | `0.30.1` | `0.31.0` | | [thiserror](https://github.com/dtolnay/thiserror) | `1.0.48` | `1.0.49` | | [typed-builder](https://github.com/idanarye/rust-typed-builder) | `0.16.0` | `0.16.2` | | [rstest](https://github.com/la10736/rstest) | `0.18.1` | `0.18.2` | Updates `clap` from 4.4.2 to 4.4.6 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.4.2...v4.4.6) Updates `indicatif` from 0.17.6 to 0.17.7 - [Release notes](https://github.com/console-rs/indicatif/releases) - [Commits](https://github.com/console-rs/indicatif/commits) Updates `openssl-sys` from 0.9.92 to 0.9.93 - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.92...openssl-sys-v0.9.93) Updates `regex` from 1.9.5 to 1.9.6 - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/regex/compare/1.9.5...1.9.6) Updates `ring` from 0.16.20 to 0.17.0 - [Commits](https://github.com/briansmith/ring/commits) Updates `serde_json` from 1.0.105 to 1.0.107 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.105...v1.0.107) Updates `supports-color` from 2.0.0 to 2.1.0 - [Release notes](https://github.com/zkat/supports-color/releases) - [Changelog](https://github.com/zkat/supports-color/blob/main/CHANGELOG.md) - [Commits](https://github.com/zkat/supports-color/compare/v2.0.0...v2.1.0) Updates `toml` from 0.7.6 to 0.8.1 - [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.8.1) Updates `predicates` from 3.0.3 to 3.0.4 - [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.3...v3.0.4) Updates `cached` from 0.44.0 to 0.46.0 - [Changelog](https://github.com/jaemk/cached/blob/master/CHANGELOG.md) - [Commits](https://github.com/jaemk/cached/commits) Updates `octocrab` from 0.30.1 to 0.31.0 - [Release notes](https://github.com/XAMPPRocky/octocrab/releases) - [Changelog](https://github.com/XAMPPRocky/octocrab/blob/main/CHANGELOG.md) - [Commits](https://github.com/XAMPPRocky/octocrab/compare/v0.30.1...v0.31.0) Updates `thiserror` from 1.0.48 to 1.0.49 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.48...1.0.49) Updates `typed-builder` from 0.16.0 to 0.16.2 - [Changelog](https://github.com/idanarye/rust-typed-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/idanarye/rust-typed-builder/commits) Updates `rstest` from 0.18.1 to 0.18.2 - [Release notes](https://github.com/la10736/rstest/releases) - [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md) - [Commits](https://github.com/la10736/rstest/compare/v0.18.1...v0.18.2) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: indicatif dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: openssl-sys dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: regex dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: ring dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: supports-color dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: toml dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: predicates dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: cached dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: octocrab dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: typed-builder dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: rstest dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-02 14:13:07 +00:00
regex = "1.9.6"
http = "0.2.9"
Bump the dependencies group with 10 updates (#1249) * Bump the dependencies group with 10 updates Bumps the dependencies group with 10 updates: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.3.23` | `4.4.2` | | [dashmap](https://github.com/xacrimon/dashmap) | `5.5.1` | `5.5.3` | | [openssl-sys](https://github.com/sfackler/rust-openssl) | `0.9.91` | `0.9.92` | | [regex](https://github.com/rust-lang/regex) | `1.9.3` | `1.9.5` | | [reqwest](https://github.com/seanmonstar/reqwest) | `0.11.19` | `0.11.20` | | [octocrab](https://github.com/XAMPPRocky/octocrab) | `0.29.3` | `0.30.1` | | [thiserror](https://github.com/dtolnay/thiserror) | `1.0.47` | `1.0.48` | | [typed-builder](https://github.com/idanarye/rust-typed-builder) | `0.15.2` | `0.16.0` | | [url](https://github.com/servo/rust-url) | `2.4.0` | `2.4.1` | | [criterion](https://github.com/bheisler/criterion.rs) | ``4c19e91`` | ``180f4b4`` | Updates `clap` from 4.3.23 to 4.4.2 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.3.23...v4.4.2) Updates `dashmap` from 5.5.1 to 5.5.3 - [Release notes](https://github.com/xacrimon/dashmap/releases) - [Commits](https://github.com/xacrimon/dashmap/compare/v5.5.1...v.5.5.3) Updates `openssl-sys` from 0.9.91 to 0.9.92 - [Release notes](https://github.com/sfackler/rust-openssl/releases) - [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.91...openssl-sys-v0.9.92) Updates `regex` from 1.9.3 to 1.9.5 - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/regex/compare/1.9.3...1.9.5) Updates `reqwest` from 0.11.19 to 0.11.20 - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.19...v0.11.20) Updates `octocrab` from 0.29.3 to 0.30.1 - [Release notes](https://github.com/XAMPPRocky/octocrab/releases) - [Changelog](https://github.com/XAMPPRocky/octocrab/blob/main/CHANGELOG.md) - [Commits](https://github.com/XAMPPRocky/octocrab/compare/v0.29.3...v0.30.1) Updates `thiserror` from 1.0.47 to 1.0.48 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.47...1.0.48) Updates `typed-builder` from 0.15.2 to 0.16.0 - [Changelog](https://github.com/idanarye/rust-typed-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/idanarye/rust-typed-builder/commits) Updates `url` from 2.4.0 to 2.4.1 - [Release notes](https://github.com/servo/rust-url/releases) - [Commits](https://github.com/servo/rust-url/compare/v2.4.0...v2.4.1) Updates `criterion` from `4c19e91` to `180f4b4` - [Commits](https://github.com/bheisler/criterion.rs/compare/4c19e913b84e6a7e4a8470cb0f766796886ed891...180f4b48964a1fe6bdd7c49cf6d197071bee2e9b) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: dashmap dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: openssl-sys dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: regex dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: reqwest dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: octocrab dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: typed-builder dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: url dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: criterion dependency-type: direct:production dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * Format * Fix new clippy lints --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matthias <matthias-endler@gmx.net>
2023-09-05 08:50:45 +00:00
reqwest = { version = "0.11.20", default-features = false, features = ["gzip"] }
Add optional Rustls support (#1099) * Add optional Rustls support This commit adds a non-default feature flag to use Rustls instead of OpenSSL. My personal motivation is to use Lychee on OpenBSD -current, where the `openssl` crate frequently fails to link against the unreleased system LibreSSL. Using the `vendored-openssl` feature helps with compilation, but segfaults at runtime. The commit adds three feature flags to the library, binary, benchmark, and all examples: - The `native-tls` feature flag toggles the `openssl` crate. - The `rustls-tls` feature flag toggles the `rustls` crate. - The `email-check` feature flag toggles the `check-if-email-exists` crate, which is the only existing functionality currently incompatible with Rustls. By default, `native-tls` and `email-check` are enabled. Thus, Lychee (bin and lib) can be used as before unless default features are disabled. To use the Rustls feature, pass `--no-default-features --features rustls` to cargo check/build/test/..., e.g., $ cargo clippy --workspace --all-targets --no-default-features \ --features rustls-tls -- --deny warnings Checking email addresses requires both, `native-tls` and `email-check`, to be enabled. Otherwise, email addresses are excluded. The `email-check` feature flag is technically not necessary. I preferred it over `not(rustls-tls)` because it's clearer and it addresses the AGPL license issue #594. As far as I understand, a Lychee binary compiled without the `email-check` feature could be distributed with file-based copyleft for the MPL-licensed dependencies only. But that's out of scope here. The benchmark shows a performance regression varying between 2% and 4.4% when using Rustls instead of OpenSSL on my machine. PS: The `ring` crate needs to be patched on OpenBSD 7.3 and later until the new xonly patches have been upstreamed, see the `rust-ring` port. * Use platform native certificates with Rustls By default, reqwest uses the webpki-roots crate with Rustls, effectively bundling Mozilla's root certificates. This commit uses the rustls-native-certs crate instead to use locally installed root certificates, to minimize the difference between the native-tls and rustls-tls features. * Document feature flags
2023-06-16 00:21:57 +00:00
[features]
email-check = ["lychee-lib/email-check"]
native-tls = ["lychee-lib/native-tls", "reqwest/native-tls"]
rustls-tls = ["lychee-lib/rustls-tls", "reqwest/rustls-tls-native-roots"]
default = ["native-tls", "email-check"]