[package]
edition = "2024"
name = "spider-middleware"
version = "0.3.4"
authors = ["mzyui <mzyui@proton.me>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Middleware implementations for the spider-lib web scraping framework."
homepage = "https://github.com/mzyui/spider-lib"
readme = "README.md"
keywords = [
"web-scraping",
"middleware",
"crawler",
"scraper",
"rust",
]
categories = [
"web-programming",
"development-tools",
"parsing",
]
license = "MIT"
repository = "https://github.com/mzyui/spider-lib"
[features]
core = []
default = ["core"]
middleware-autothrottle = []
middleware-cache = [
"dep:bincode",
"dep:dirs",
]
middleware-cookies = [
"dep:cookie",
"dep:cookie_store",
"dep:time",
]
middleware-proxy = []
middleware-robots = ["dep:robotstxt"]
middleware-user-agent = ["dep:ua_generator"]
[lib]
name = "spider_middleware"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.bincode]
version = "1.3"
optional = true
[dependencies.bytes]
version = "1.11.1"
features = ["serde"]
[dependencies.cookie]
version = "0.17"
optional = true
[dependencies.cookie_store]
version = "0.20"
optional = true
[dependencies.dashmap]
version = "6.1.0"
features = ["serde"]
[dependencies.dirs]
version = "5.0"
optional = true
[dependencies.governor]
version = "0.3"
[dependencies.http]
version = "1.4.0"
[dependencies.log]
version = "0.4"
[dependencies.moka]
version = "0.12"
features = [
"future",
"sync",
]
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.13.2"
features = [
"json",
"stream",
"multipart",
"form",
"native-tls",
]
default-features = false
[dependencies.robotstxt]
version = "0.3.0"
optional = true
[dependencies.seahash]
version = "4.1.0"
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.spider-util]
version = "0.3.3"
[dependencies.time]
version = "0.3"
features = ["serde"]
optional = true
[dependencies.tokio]
version = "1.0"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"fs",
"signal",
]
[dependencies.ua_generator]
version = "0.5.46"
optional = true
[dependencies.url]
version = "2.5.8"
features = ["serde"]