8a12b2ebf9
Closes https://github.com/astral-sh/uv/issues/1709 Closes https://github.com/astral-sh/uv/issues/1371 Tested with the reproduction provided in #1709 which gets past the HTTP 401. Reuses the same copying logic we introduced in https://github.com/astral-sh/uv/pull/1874 to ensure authentication is attached to file URLs with a realm that matches that of the index. I had to move the authentication logic into a new crate so it could be used in `distribution-types`. We will want to something more robust in the future, like track all realms with authentication in a central store and perform lookups there. That's what `pip` does and it allows consolidation of logic like netrc lookups. That refactor feels significant though, and I'd like to get this fixed ASAP so this is a minimal fix.
52 lines
1.7 KiB
TOML
52 lines
1.7 KiB
TOML
[package]
|
|
name = "uv-client"
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
cache-key = { path = "../cache-key" }
|
|
distribution-filename = { path = "../distribution-filename", features = ["rkyv", "serde"] }
|
|
distribution-types = { path = "../distribution-types" }
|
|
install-wheel-rs = { path = "../install-wheel-rs" }
|
|
pep440_rs = { path = "../pep440-rs" }
|
|
pep508_rs = { path = "../pep508-rs" }
|
|
platform-tags = { path = "../platform-tags" }
|
|
uv-auth = { path = "../uv-auth" }
|
|
uv-cache = { path = "../uv-cache" }
|
|
uv-fs = { path = "../uv-fs", features = ["tokio"] }
|
|
uv-normalize = { path = "../uv-normalize" }
|
|
uv-warnings = { path = "../uv-warnings" }
|
|
pypi-types = { path = "../pypi-types" }
|
|
|
|
async-trait = { workspace = true }
|
|
async_http_range_reader = { workspace = true }
|
|
async_zip = { workspace = true, features = ["tokio"] }
|
|
chrono = { workspace = true }
|
|
fs-err = { workspace = true, features = ["tokio"] }
|
|
futures = { workspace = true }
|
|
html-escape = { workspace = true }
|
|
http = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
reqwest-middleware = { workspace = true }
|
|
reqwest-retry = { workspace = true }
|
|
rkyv = { workspace = true, features = ["strict", "validation"] }
|
|
rmp-serde = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
task-local-extensions = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tl = { workspace = true }
|
|
tokio = { workspace = true, features = ["fs"] }
|
|
tokio-util = { workspace = true }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
urlencoding = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
insta = { version = "1.34.0" }
|
|
tokio = { workspace = true, features = ["fs", "macros"] }
|