mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-28 00:35:32 +08:00
2c2c72271a
reqwest internally normalizes all header names to lowercase and does not preserve insertion order, causing proxied requests to differ from the original client requests. To achieve transparent header forwarding with original casing and order, introduce lower-level hyper HTTP client libs. New dependencies: - hyper-util 0.1: TokioExecutor + legacy Client with preserve_header_case support for HTTP/1.1 - hyper-rustls 0.27: rustls-based TLS connector for hyper - http 1 / http-body 1 / http-body-util 0.1: HTTP type crates for hyper 1.x request/response construction - flate2 1: manual gzip/deflate decompression (replaces reqwest auto) - brotli 7: manual brotli decompression Changed dependencies: - serde_json: enable preserve_order feature to keep JSON field order - reqwest: drop gzip feature to prevent reqwest from overriding the client's original accept-encoding header
101 lines
2.8 KiB
TOML
101 lines
2.8 KiB
TOML
[package]
|
||
name = "cc-switch"
|
||
version = "3.12.3"
|
||
description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI"
|
||
authors = ["Jason Young"]
|
||
license = "MIT"
|
||
repository = "https://github.com/farion1231/cc-switch"
|
||
edition = "2021"
|
||
rust-version = "1.85.0"
|
||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||
|
||
[lib]
|
||
name = "cc_switch_lib"
|
||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||
doctest = false
|
||
|
||
[features]
|
||
default = []
|
||
test-hooks = []
|
||
|
||
[build-dependencies]
|
||
tauri-build = { version = "2.4.0", features = [] }
|
||
|
||
[dependencies]
|
||
serde_json = { version = "1.0", features = ["preserve_order"] }
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
log = "0.4"
|
||
chrono = { version = "0.4", features = ["serde"] }
|
||
tauri = { version = "2.8.2", features = ["tray-icon", "protocol-asset", "image-png"] }
|
||
tauri-plugin-log = "2"
|
||
tauri-plugin-opener = "2"
|
||
tauri-plugin-process = "2"
|
||
tauri-plugin-updater = "2"
|
||
tauri-plugin-dialog = "2"
|
||
tauri-plugin-store = "2"
|
||
tauri-plugin-deep-link = "2"
|
||
dirs = "5.0"
|
||
toml = "0.8"
|
||
toml_edit = "0.22"
|
||
reqwest = { version = "0.12", features = ["rustls-tls", "json", "stream", "socks"] }
|
||
flate2 = "1"
|
||
brotli = "7"
|
||
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"] }
|
||
futures = "0.3"
|
||
async-stream = "0.3"
|
||
bytes = "1.5"
|
||
axum = "0.7"
|
||
tower = "0.4"
|
||
tower-http = { version = "0.5", features = ["cors"] }
|
||
hyper = { version = "1.0", features = ["full"] }
|
||
hyper-util = { version = "0.1", features = ["tokio", "http1", "client-legacy"] }
|
||
hyper-rustls = { version = "0.27", features = ["http1", "tls12", "ring", "webpki-tokio"] }
|
||
http = "1"
|
||
http-body = "1"
|
||
http-body-util = "0.1"
|
||
regex = "1.10"
|
||
rquickjs = { version = "0.8", features = ["array-buffer", "classes"] }
|
||
thiserror = "2.0"
|
||
anyhow = "1.0"
|
||
zip = "2.2"
|
||
serde_yaml = "0.9"
|
||
tempfile = "3"
|
||
url = "2.5"
|
||
auto-launch = "0.5"
|
||
once_cell = "1.21.3"
|
||
base64 = "0.22"
|
||
rusqlite = { version = "0.31", features = ["bundled", "backup", "hooks"] }
|
||
indexmap = { version = "2", features = ["serde"] }
|
||
rust_decimal = "1.33"
|
||
uuid = { version = "1.11", features = ["v4"] }
|
||
sha2 = "0.10"
|
||
json5 = "0.4"
|
||
json-five = "0.3.1"
|
||
|
||
[target.'cfg(any(target_os = "macos", target_os = "windows", target_os = "linux"))'.dependencies]
|
||
tauri-plugin-single-instance = "2"
|
||
|
||
[target.'cfg(target_os = "linux")'.dependencies]
|
||
webkit2gtk = { version = "2.0.1", features = ["v2_16"] }
|
||
|
||
[target.'cfg(target_os = "windows")'.dependencies]
|
||
winreg = "0.52"
|
||
|
||
[target.'cfg(target_os = "macos")'.dependencies]
|
||
objc2 = "0.5"
|
||
objc2-app-kit = { version = "0.2", features = ["NSColor"] }
|
||
|
||
# Optimize release binary size to help reduce AppImage footprint
|
||
[profile.release]
|
||
codegen-units = 1
|
||
lto = "thin"
|
||
opt-level = "s"
|
||
# 使用 unwind 以便 panic hook 能捕获 backtrace(abort 会直接终止无法捕获)
|
||
panic = "unwind"
|
||
strip = "symbols"
|
||
|
||
[dev-dependencies]
|
||
serial_test = "3"
|
||
tempfile = "3"
|