[package]
name = "crabbysearch"
version = "0.1.0"
edition = "2021"
description = "crabbysearch: a simple meta search engine written in rust."
repository = "https://github.com/MilimTheTrueOne/crabbysearch"
license = "AGPL-3.0"

[dependencies]
reqwest = { version = "0.12.4", default-features = false, features = [
    "rustls-tls",
    "brotli",
    "gzip",
    "http2"
] }
tokio = { version = "1.32.0", features = [
    "rt-multi-thread",
    "macros",
    "fs",
    "io-util",
], default-features = false }
serde = { version = "1.0.196", default-features = false, features = ["derive"] }
serde_json = { version = "1.0.125", default-features = false }
maud = { version = "0.26.0", default-features = false, features = [
    "actix-web",
] }
scraper = { version = "0.20.0", default-features = false }
actix-web = { version = "4.4.0", features = [
    "cookies",
    "macros",
    "compress-brotli",
], default-features = false }
actix-files = { version = "0.6.5", default-features = false }
actix-cors = { version = "0.7.0", default-features = false }
fake-useragent = { version = "0.1.3", default-features = false }
env_logger = { version = "0.11.1", default-features = false }
log = { version = "0.4.21", default-features = false }
error-stack = { version = "0.5.0", default-features = false, features = [
    "std",
] }
async-trait = { version = "0.1.80", default-features = false }
regex = { version = "1.9.4", features = ["perf"], default-features = false }
futures = { version = "0.3.30", default-features = false, features = ["alloc"] }
mini-moka = { version = "0.10", default-features = false, features = [
    "sync",
] }
async-compression = { version = "0.4.11", default-features = false, features = [
    "brotli",
    "tokio",
], optional = true }
cfg-if = { version = "1.0.0", default-features = false, optional = true }
figment = { version = "0.10", features = ["env"] }

[features]
compress-cache-results = ["dep:async-compression", "dep:cfg-if"]
experimental-io-uring = ["actix-web/experimental-io-uring"]
