domain_status 0.1.21

Concurrent URL status checker that captures comprehensive metadata in SQLite.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85"
name = "domain_status"
version = "0.1.21"
authors = ["Alex Woolford <alex@woolford.io>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Concurrent URL status checker that captures comprehensive metadata in SQLite."
homepage = "https://github.com/alexwoolford/domain_status"
documentation = "https://docs.rs/domain_status"
readme = "README.md"
keywords = [
    "url",
    "scraper",
    "domain",
    "status",
    "monitoring",
]
categories = [
    "web-programming",
    "command-line-utilities",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/alexwoolford/domain_status"

[lib]
name = "domain_status"
path = "src/lib.rs"

[[bin]]
name = "domain_status"
path = "src/main.rs"

[[test]]
name = "db_pool_timeout_bug"
path = "tests/db_pool_timeout_bug.rs"

[[test]]
name = "error_messages"
path = "tests/error_messages.rs"

[[test]]
name = "export_csv"
path = "tests/export_csv.rs"

[[test]]
name = "fixtures_integration"
path = "tests/fixtures_integration.rs"

[[test]]
name = "helpers"
path = "tests/helpers.rs"

[[test]]
name = "http_timeout_bug"
path = "tests/http_timeout_bug.rs"

[[test]]
name = "input_parsing"
path = "tests/input_parsing.rs"

[[test]]
name = "integration_test"
path = "tests/integration_test.rs"

[[test]]
name = "panic_safety"
path = "tests/panic_safety.rs"

[[test]]
name = "resiliency_break_it"
path = "tests/resiliency_break_it.rs"

[[test]]
name = "resiliency_cancellation"
path = "tests/resiliency_cancellation.rs"

[[test]]
name = "snapshot_export"
path = "tests/snapshot_export.rs"

[[test]]
name = "stress_concurrency_mismatch"
path = "tests/stress_concurrency_mismatch.rs"

[[test]]
name = "stress_database_scale"
path = "tests/stress_database_scale.rs"

[[test]]
name = "stress_dns_rebinding"
path = "tests/stress_dns_rebinding.rs"

[[test]]
name = "stress_dns_tunneling"
path = "tests/stress_dns_tunneling.rs"

[[test]]
name = "stress_header_bomb"
path = "tests/stress_header_bomb.rs"

[[test]]
name = "stress_redirect_resource"
path = "tests/stress_redirect_resource.rs"

[[test]]
name = "stress_whois_cache_explosion"
path = "tests/stress_whois_cache_explosion.rs"

[[test]]
name = "test_run_scan_integration"
path = "tests/test_run_scan_integration.rs"

[[test]]
name = "whois_timeout_bug"
path = "tests/whois_timeout_bug.rs"

[dependencies.anyhow]
version = "^1.0"

[dependencies.arrow]
version = "^58"
default-features = false

[dependencies.axum]
version = "^0.8"

[dependencies.base64]
version = "^0.22"

[dependencies.chrono]
version = "^0.4"

[dependencies.clap]
version = "^4.5"
features = [
    "derive",
    "env",
]

[dependencies.clap-verbosity-flag]
version = "3.0"

[dependencies.clap_complete]
version = "^4.5"

[dependencies.clap_mangen]
version = "^0.2"

[dependencies.colored]
version = "^3.0"

[dependencies.config]
version = "0.14"
features = ["toml"]
default-features = false

[dependencies.csv]
version = "^1.3"

[dependencies.domain_status_cli]
version = "0.1.21"

[dependencies.dotenvy]
version = "^0.15"

[dependencies.enum-map]
version = "^2.7"

[dependencies.env_logger]
version = "^0.11"

[dependencies.flate2]
version = "^1.1"

[dependencies.futures]
version = "^0.3"

[dependencies.hickory-resolver]
version = "^0.25"

[dependencies.include_dir]
version = "^0.7"

[dependencies.indicatif]
version = "0.18.4"

[dependencies.log]
version = "^0.4"

[dependencies.maxminddb]
version = "^0.27"

[dependencies.moka]
version = "^0.12"
features = ["sync"]

[dependencies.murmur3]
version = "^0.1"

[dependencies.parquet]
version = "^58"
features = [
    "arrow",
    "snap",
]
default-features = false

[dependencies.psl]
version = "^2.1"

[dependencies.regex]
version = "^1.12"

[dependencies.reqwest]
version = "^0.12"
features = [
    "rustls-tls",
    "http2",
    "gzip",
    "brotli",
    "deflate",
    "stream",
]
default-features = false

[dependencies.rustls]
version = "^0.23"

[dependencies.scraper]
version = "^0.25"

[dependencies.serde]
version = "^1.0"
features = ["derive"]

[dependencies.serde_json]
version = "^1.0"

[dependencies.sha2]
version = "^0.10"

[dependencies.sqlx]
version = "^0.8"
features = [
    "sqlite",
    "runtime-tokio-rustls",
    "migrate",
]
default-features = false

[dependencies.strum]
version = "^0.27"

[dependencies.strum_macros]
version = "^0.27"

[dependencies.tar]
version = "^0.4"

[dependencies.tempfile]
version = "^3.26"

[dependencies.thiserror]
version = "^2.0"

[dependencies.tokio]
version = "^1"
features = ["full"]

[dependencies.tokio-retry]
version = "^0.3"

[dependencies.tokio-rustls]
version = "^0.26"

[dependencies.tokio-util]
version = "^0.7"

[dependencies.toml]
version = "^0.8"
features = ["preserve_order"]

[dependencies.url]
version = "^2.5"

[dependencies.whois-service]
version = "0.2.1"
default-features = false

[dependencies.x509-parser]
version = "^0.18"

[dev-dependencies.assert_cmd]
version = "^2.0"

[dev-dependencies.assert_fs]
version = "^1.1"

[dev-dependencies.httptest]
version = "^0.16"

[dev-dependencies.insta]
version = "^1.38"
features = ["yaml"]

[dev-dependencies.pretty_assertions]
version = "^1.4"

[dev-dependencies.proptest]
version = "^1.4"

[dev-dependencies.rcgen]
version = "0.14.7"

[dev-dependencies.rstest]
version = "^0.21"

[dev-dependencies.tokio]
version = "^1"
features = ["test-util"]

[dev-dependencies.tower]
version = "0.5.3"

[dev-dependencies.wiremock]
version = "^0.6"

[build-dependencies.clap]
version = "^4.5"
features = ["derive"]

[build-dependencies.clap_complete]
version = "^4.5"

[build-dependencies.clap_mangen]
version = "^0.2"

[build-dependencies.domain_status_cli]
version = "0.1.21"

[lints.clippy]
cast_lossless = "deny"
cast_possible_truncation = "deny"
cast_precision_loss = "deny"
cast_sign_loss = "deny"
clone_on_copy = "deny"
cognitive_complexity = "deny"
default_trait_access = "deny"
doc_markdown = "deny"
duration_subsec = "deny"
explicit_iter_loop = "deny"
float_cmp = "deny"
missing_errors_doc = "warn"
missing_panics_doc = "deny"
missing_safety_doc = "deny"
module_name_repetitions = "allow"
must_use_candidate = "deny"
needless_pass_by_value = "deny"
similar_names = "allow"
too_many_lines = "deny"
undocumented_unsafe_blocks = "warn"
unnecessary_wraps = "deny"

[lints.rust]
non_ascii_idents = "forbid"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]

[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true