├── .gitignore ├── conf.yml ├── Cargo.toml ├── LICENSE ├── README.md ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /conf.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 1 3 | threads: 2 4 | pid_file: /tmp/load_balancer.pid 5 | error_log: /tmp/load_balancer_err.log 6 | upgrade_sock: /tmp/load_balancer.sock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "load_balancer" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | async-trait="0.1" 8 | pingora = { version = "0.1", features = ["lb"] } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Phyuany 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pingora 实现的高效负载均衡 HTTP 代理 2 | 3 | 这个项目展示了如何使用 Rust 的 `pingora` crate 创建带负载均衡的 HTTP 代理服务器。 4 | 5 | ## 一、功能 6 | 7 | - **HTTP 代理服务**:将传入的 HTTP 请求代理到上游服务器。 8 | - **负载均衡**:使用轮询算法将流量分配到多个上游服务器。 9 | - **TLS 支持**:使用指定的证书和密钥文件支持 TLS 和 HTTP/2。 10 | 11 | ## 二、入门 12 | 13 | ### 先决条件 14 | 15 | - 已安装 Rust 编程语言。你可以从 [这里](https://www.rust-lang.org/) 安装。 16 | 17 | ### 2.1 项目结构 18 | 19 | - `src/main.rs`:包含服务器设置和配置的主要 Rust 源文件。 20 | - `keys/`:存放 TLS 证书 (`example.com.crt`) 和密钥 (`example.com.key`) 的目录。 21 | 22 | ### 2.2 设置 23 | 24 | 1. 克隆仓库: 25 | 26 | ```sh 27 | git clone https://github.com/phyuany/simple-pingora-reverse-proxy.git 28 | cd simple-pingora-reverse-proxy 29 | ``` 30 | 31 | 2. 将你的 TLS 证书和密钥文件放入 `keys` 目录: 32 | 33 | ```sh 34 | mkdir keys 35 | # 将你的 example.com.crt 和 example.com.key 文件放到 keys 目录中 36 | ``` 37 | 38 | 3. 构建并运行服务器: 39 | 40 | ```sh 41 | cargo run 42 | ``` 43 | 44 | ### 2.3 服务器配置 45 | 46 | - 服务器监听 `80` 端口处理 HTTP 流量。 47 | - 服务器监听 `443` 端口处理带 TLS 的 HTTPS 流量。 48 | - 使用轮询算法在两个上游服务器 `10.0.0.1:8080` 和 `10.0.0.2:8080` 之间进行负载均衡。 49 | 50 | ### 2.4 代码概览 51 | 52 | - **服务器初始化**:创建并配置一个 `Server` 实例。 53 | - **负载均衡器**:创建一个 `LoadBalancer` 实例来管理多个上游服务器。 54 | - **HTTP 代理服务**:使用服务器设置和负载均衡器进行配置,并监听特定端口。 55 | - **TLS 设置**:配置以启用 HTTP/2 并使用指定的证书和密钥文件。 56 | - **服务列表**:将服务添加到服务器,服务器进入事件循环开始处理请求。 57 | 58 | ### 2.5 示例用法 59 | 60 | 该代理服务器设计用于将传入的 HTTP 请求转发到指定的上游服务器,使用轮询算法,并且为所有上游请求设置 `Host` 头为 `example.com`。 61 | 62 | ### 2.6 备注 63 | 64 | - **SNI(服务器名称指示)**:`HttpPeer` 配置了 SNI,以确保在与上游服务器建立 TLS 连接时使用正确的主机名。 65 | 66 | ## 三、贡献 67 | 68 | 如果你有任何建议或改进,欢迎提交问题或拉取请求。 69 | 70 | ## 四、许可证 71 | 72 | 本项目使用 MIT 许可证。 73 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use async_trait::async_trait; 2 | use pingora::{prelude::*, services::Service}; 3 | use std::sync::Arc; 4 | 5 | fn main() { 6 | // 创建一个服务器实例,传入Some(Opt::default())代表使用默认配置,程序执行时支持接收命令行参数 7 | let mut my_server = Server::new(Some(Opt::default())).unwrap(); 8 | // 初始化服务器 9 | my_server.bootstrap(); 10 | // 创建一个负载均衡器,包含多个上游服务器 11 | let mut upstreams = LoadBalancer::try_from_iter(["10.0.0.1:8080", "10.0.0.2:8080"]).unwrap(); 12 | 13 | // 进行健康检查,最终获得到可用的上游服务器 14 | let hc = TcpHealthCheck::new(); 15 | upstreams.set_health_check(hc); 16 | upstreams.health_check_frequency = Some(std::time::Duration::from_secs(1)); 17 | let background = background_service("health check", upstreams); 18 | let upstreams = background.task(); 19 | 20 | // 创建一个HTTP代理服务,并传入服务器配置和负载均衡器 21 | let mut lb_service: pingora::services::listening::Service> = 22 | http_proxy_service(&my_server.configuration, LB(upstreams)); 23 | // 添加一个TCP监听地址,监听80端口 24 | lb_service.add_tcp("0.0.0.0:80"); 25 | 26 | // 添加一个TLS监听地址,监听443端口 27 | println!("The cargo manifest dir is: {}", env!("CARGO_MANIFEST_DIR")); 28 | // 在项目目录下新增一个 keys 目录,对应证书文件放在该目录下 29 | let cert_path = format!("{}/keys/example.com.crt", env!("CARGO_MANIFEST_DIR")); 30 | let key_path = format!("{}/keys/example.com.key", env!("CARGO_MANIFEST_DIR")); 31 | let mut tls_settings = 32 | pingora::listeners::TlsSettings::intermediate(&cert_path, &key_path).unwrap(); 33 | tls_settings.enable_h2(); 34 | lb_service.add_tls_with_settings("0.0.0.0:443", None, tls_settings); 35 | 36 | // 定义服务列表,这个示例只有一个负载均衡服务,后续有需要可以添加更多,将服务列表添加到服务器中 37 | let services: Vec> = vec![Box::new(lb_service)]; 38 | my_server.add_services(services); 39 | // 运行服务器,进入事件循环 40 | my_server.run_forever(); 41 | } 42 | 43 | // 定义一个包含负载均衡器的结构体LB,用于包装Arc指针以实现多线程共享 44 | pub struct LB(Arc>); 45 | 46 | // 使用#[async_trait]宏,异步实现ProxyHttp trait。 47 | #[async_trait] 48 | impl ProxyHttp for LB { 49 | /// 定义上下文类型,这里使用空元组,对于这个小例子,我们不需要上下文存储 50 | type CTX = (); 51 | // 创建新的上下文实例,这里返回空元组 52 | fn new_ctx(&self) -> () { 53 | () 54 | } 55 | // 选择上游服务器并创建HTTP对等体 56 | async fn upstream_peer(&self, _session: &mut Session, _ctx: &mut ()) -> Result> { 57 | // 使用轮询算法选择上游服务器 58 | let upstream = self 59 | .0 60 | .select(b"", 256) // 对于轮询,哈希不重要 61 | .unwrap(); 62 | println!("上游对等体是:{upstream:?}"); 63 | // 创建一个新的HTTP对等体,设置SNI为example.com 64 | let peer: Box = 65 | Box::new(HttpPeer::new(upstream, false, "example.com".to_string())); 66 | Ok(peer) 67 | } 68 | 69 | // 在上游请求发送前,执行一些额外操作,例如将某些参数插入请求头,这里的示例是插入Host头部 70 | async fn upstream_request_filter( 71 | &self, 72 | _session: &mut Session, 73 | upstream_request: &mut RequestHeader, 74 | _ctx: &mut Self::CTX, 75 | ) -> Result<()> { 76 | // 将Host头部设置为example.com,当然,在现实需求中,这一步可能是多余的 77 | upstream_request 78 | .insert_header("Host", "example.com") 79 | .unwrap(); 80 | Ok(()) 81 | } 82 | } 83 | 84 | /* 备注 85 | 在TLS(Transport Layer Security)和SSL(Secure Sockets Layer)协议中, 86 | SNI(Server Name Indication)是一个扩展字段,用于指定客户端要连接的目标服务器的主机名。 87 | 88 | 当客户端发起TLS握手时,它会发送一个加密的客户端Hello消息给服务器,其中包含SNI字段,告诉服务器它希望连接的是哪个主机名。 89 | 服务器可以根据SNI字段中的主机名来选择相应的证书,从而支持在同一IP地址上托管多个域名的HTTPS站点。 90 | 91 | 在HTTP代理服务器中,如果代理服务器需要与上游服务器建立加密连接(HTTPS),则通常需要在代理请求中包含SNI字段,以确保上游服务器能够正确识别客户端请求的主机名。 92 | 因此,在创建新的HTTP对等体时,设置SNI为example.com意味着在与上游服务器建立加密连接时,客户端会指定目标主机名为example.com 93 | */ 94 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "ahash" 22 | version = "0.8.11" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" 25 | dependencies = [ 26 | "cfg-if", 27 | "getrandom", 28 | "once_cell", 29 | "version_check", 30 | "zerocopy", 31 | ] 32 | 33 | [[package]] 34 | name = "aho-corasick" 35 | version = "1.1.3" 36 | source = "registry+https://github.com/rust-lang/crates.io-index" 37 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 38 | dependencies = [ 39 | "memchr", 40 | ] 41 | 42 | [[package]] 43 | name = "alloc-no-stdlib" 44 | version = "2.0.4" 45 | source = "registry+https://github.com/rust-lang/crates.io-index" 46 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 47 | 48 | [[package]] 49 | name = "alloc-stdlib" 50 | version = "0.2.2" 51 | source = "registry+https://github.com/rust-lang/crates.io-index" 52 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 53 | dependencies = [ 54 | "alloc-no-stdlib", 55 | ] 56 | 57 | [[package]] 58 | name = "allocator-api2" 59 | version = "0.2.18" 60 | source = "registry+https://github.com/rust-lang/crates.io-index" 61 | checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" 62 | 63 | [[package]] 64 | name = "ansi_term" 65 | version = "0.12.1" 66 | source = "registry+https://github.com/rust-lang/crates.io-index" 67 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 68 | dependencies = [ 69 | "winapi", 70 | ] 71 | 72 | [[package]] 73 | name = "arc-swap" 74 | version = "1.7.1" 75 | source = "registry+https://github.com/rust-lang/crates.io-index" 76 | checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" 77 | 78 | [[package]] 79 | name = "arrayvec" 80 | version = "0.7.4" 81 | source = "registry+https://github.com/rust-lang/crates.io-index" 82 | checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" 83 | 84 | [[package]] 85 | name = "async-stream" 86 | version = "0.3.5" 87 | source = "registry+https://github.com/rust-lang/crates.io-index" 88 | checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" 89 | dependencies = [ 90 | "async-stream-impl", 91 | "futures-core", 92 | "pin-project-lite", 93 | ] 94 | 95 | [[package]] 96 | name = "async-stream-impl" 97 | version = "0.3.5" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" 100 | dependencies = [ 101 | "proc-macro2", 102 | "quote", 103 | "syn 2.0.66", 104 | ] 105 | 106 | [[package]] 107 | name = "async-trait" 108 | version = "0.1.80" 109 | source = "registry+https://github.com/rust-lang/crates.io-index" 110 | checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" 111 | dependencies = [ 112 | "proc-macro2", 113 | "quote", 114 | "syn 2.0.66", 115 | ] 116 | 117 | [[package]] 118 | name = "atomic-waker" 119 | version = "1.1.2" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 122 | 123 | [[package]] 124 | name = "atty" 125 | version = "0.2.14" 126 | source = "registry+https://github.com/rust-lang/crates.io-index" 127 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 128 | dependencies = [ 129 | "hermit-abi 0.1.19", 130 | "libc", 131 | "winapi", 132 | ] 133 | 134 | [[package]] 135 | name = "autocfg" 136 | version = "1.3.0" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 139 | 140 | [[package]] 141 | name = "backtrace" 142 | version = "0.3.72" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" 145 | dependencies = [ 146 | "addr2line", 147 | "cc", 148 | "cfg-if", 149 | "libc", 150 | "miniz_oxide", 151 | "object", 152 | "rustc-demangle", 153 | ] 154 | 155 | [[package]] 156 | name = "base64" 157 | version = "0.21.7" 158 | source = "registry+https://github.com/rust-lang/crates.io-index" 159 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 160 | 161 | [[package]] 162 | name = "bitflags" 163 | version = "1.3.2" 164 | source = "registry+https://github.com/rust-lang/crates.io-index" 165 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 166 | 167 | [[package]] 168 | name = "bitflags" 169 | version = "2.5.0" 170 | source = "registry+https://github.com/rust-lang/crates.io-index" 171 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 172 | 173 | [[package]] 174 | name = "blake2" 175 | version = "0.10.6" 176 | source = "registry+https://github.com/rust-lang/crates.io-index" 177 | checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" 178 | dependencies = [ 179 | "digest", 180 | ] 181 | 182 | [[package]] 183 | name = "block-buffer" 184 | version = "0.10.4" 185 | source = "registry+https://github.com/rust-lang/crates.io-index" 186 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 187 | dependencies = [ 188 | "generic-array", 189 | ] 190 | 191 | [[package]] 192 | name = "brotli" 193 | version = "3.5.0" 194 | source = "registry+https://github.com/rust-lang/crates.io-index" 195 | checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" 196 | dependencies = [ 197 | "alloc-no-stdlib", 198 | "alloc-stdlib", 199 | "brotli-decompressor", 200 | ] 201 | 202 | [[package]] 203 | name = "brotli-decompressor" 204 | version = "2.5.1" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" 207 | dependencies = [ 208 | "alloc-no-stdlib", 209 | "alloc-stdlib", 210 | ] 211 | 212 | [[package]] 213 | name = "bumpalo" 214 | version = "3.16.0" 215 | source = "registry+https://github.com/rust-lang/crates.io-index" 216 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 217 | 218 | [[package]] 219 | name = "byteorder" 220 | version = "1.5.0" 221 | source = "registry+https://github.com/rust-lang/crates.io-index" 222 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 223 | 224 | [[package]] 225 | name = "bytes" 226 | version = "1.6.0" 227 | source = "registry+https://github.com/rust-lang/crates.io-index" 228 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 229 | 230 | [[package]] 231 | name = "cc" 232 | version = "1.0.99" 233 | source = "registry+https://github.com/rust-lang/crates.io-index" 234 | checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" 235 | dependencies = [ 236 | "jobserver", 237 | "libc", 238 | "once_cell", 239 | ] 240 | 241 | [[package]] 242 | name = "cfg-if" 243 | version = "1.0.0" 244 | source = "registry+https://github.com/rust-lang/crates.io-index" 245 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 246 | 247 | [[package]] 248 | name = "chrono" 249 | version = "0.4.38" 250 | source = "registry+https://github.com/rust-lang/crates.io-index" 251 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 252 | dependencies = [ 253 | "num-traits", 254 | ] 255 | 256 | [[package]] 257 | name = "clap" 258 | version = "2.34.0" 259 | source = "registry+https://github.com/rust-lang/crates.io-index" 260 | checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" 261 | dependencies = [ 262 | "ansi_term", 263 | "atty", 264 | "bitflags 1.3.2", 265 | "strsim", 266 | "textwrap", 267 | "unicode-width", 268 | "vec_map", 269 | ] 270 | 271 | [[package]] 272 | name = "cmake" 273 | version = "0.1.50" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" 276 | dependencies = [ 277 | "cc", 278 | ] 279 | 280 | [[package]] 281 | name = "core-foundation" 282 | version = "0.9.4" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 285 | dependencies = [ 286 | "core-foundation-sys", 287 | "libc", 288 | ] 289 | 290 | [[package]] 291 | name = "core-foundation-sys" 292 | version = "0.8.6" 293 | source = "registry+https://github.com/rust-lang/crates.io-index" 294 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 295 | 296 | [[package]] 297 | name = "crc32fast" 298 | version = "1.4.2" 299 | source = "registry+https://github.com/rust-lang/crates.io-index" 300 | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 301 | dependencies = [ 302 | "cfg-if", 303 | ] 304 | 305 | [[package]] 306 | name = "crossbeam-channel" 307 | version = "0.5.13" 308 | source = "registry+https://github.com/rust-lang/crates.io-index" 309 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 310 | dependencies = [ 311 | "crossbeam-utils", 312 | ] 313 | 314 | [[package]] 315 | name = "crossbeam-queue" 316 | version = "0.3.11" 317 | source = "registry+https://github.com/rust-lang/crates.io-index" 318 | checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" 319 | dependencies = [ 320 | "crossbeam-utils", 321 | ] 322 | 323 | [[package]] 324 | name = "crossbeam-utils" 325 | version = "0.8.20" 326 | source = "registry+https://github.com/rust-lang/crates.io-index" 327 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 328 | 329 | [[package]] 330 | name = "crypto-common" 331 | version = "0.1.6" 332 | source = "registry+https://github.com/rust-lang/crates.io-index" 333 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 334 | dependencies = [ 335 | "generic-array", 336 | "typenum", 337 | ] 338 | 339 | [[package]] 340 | name = "daemonize" 341 | version = "0.5.0" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | checksum = "ab8bfdaacb3c887a54d41bdf48d3af8873b3f5566469f8ba21b92057509f116e" 344 | dependencies = [ 345 | "libc", 346 | ] 347 | 348 | [[package]] 349 | name = "data-encoding" 350 | version = "2.6.0" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" 353 | 354 | [[package]] 355 | name = "debugid" 356 | version = "0.8.0" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" 359 | dependencies = [ 360 | "serde", 361 | "uuid", 362 | ] 363 | 364 | [[package]] 365 | name = "deranged" 366 | version = "0.3.11" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 369 | dependencies = [ 370 | "powerfmt", 371 | ] 372 | 373 | [[package]] 374 | name = "digest" 375 | version = "0.10.7" 376 | source = "registry+https://github.com/rust-lang/crates.io-index" 377 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 378 | dependencies = [ 379 | "block-buffer", 380 | "crypto-common", 381 | "subtle", 382 | ] 383 | 384 | [[package]] 385 | name = "displaydoc" 386 | version = "0.2.4" 387 | source = "registry+https://github.com/rust-lang/crates.io-index" 388 | checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" 389 | dependencies = [ 390 | "proc-macro2", 391 | "quote", 392 | "syn 2.0.66", 393 | ] 394 | 395 | [[package]] 396 | name = "encoding_rs" 397 | version = "0.8.34" 398 | source = "registry+https://github.com/rust-lang/crates.io-index" 399 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 400 | dependencies = [ 401 | "cfg-if", 402 | ] 403 | 404 | [[package]] 405 | name = "equivalent" 406 | version = "1.0.1" 407 | source = "registry+https://github.com/rust-lang/crates.io-index" 408 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 409 | 410 | [[package]] 411 | name = "flate2" 412 | version = "1.0.30" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" 415 | dependencies = [ 416 | "crc32fast", 417 | "libz-ng-sys", 418 | "miniz_oxide", 419 | ] 420 | 421 | [[package]] 422 | name = "fnv" 423 | version = "1.0.7" 424 | source = "registry+https://github.com/rust-lang/crates.io-index" 425 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 426 | 427 | [[package]] 428 | name = "foreign-types" 429 | version = "0.3.2" 430 | source = "registry+https://github.com/rust-lang/crates.io-index" 431 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 432 | dependencies = [ 433 | "foreign-types-shared", 434 | ] 435 | 436 | [[package]] 437 | name = "foreign-types-shared" 438 | version = "0.1.1" 439 | source = "registry+https://github.com/rust-lang/crates.io-index" 440 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 441 | 442 | [[package]] 443 | name = "form_urlencoded" 444 | version = "1.2.1" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 447 | dependencies = [ 448 | "percent-encoding", 449 | ] 450 | 451 | [[package]] 452 | name = "futures" 453 | version = "0.3.30" 454 | source = "registry+https://github.com/rust-lang/crates.io-index" 455 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" 456 | dependencies = [ 457 | "futures-channel", 458 | "futures-core", 459 | "futures-executor", 460 | "futures-io", 461 | "futures-sink", 462 | "futures-task", 463 | "futures-util", 464 | ] 465 | 466 | [[package]] 467 | name = "futures-channel" 468 | version = "0.3.30" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 471 | dependencies = [ 472 | "futures-core", 473 | "futures-sink", 474 | ] 475 | 476 | [[package]] 477 | name = "futures-core" 478 | version = "0.3.30" 479 | source = "registry+https://github.com/rust-lang/crates.io-index" 480 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 481 | 482 | [[package]] 483 | name = "futures-executor" 484 | version = "0.3.30" 485 | source = "registry+https://github.com/rust-lang/crates.io-index" 486 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 487 | dependencies = [ 488 | "futures-core", 489 | "futures-task", 490 | "futures-util", 491 | ] 492 | 493 | [[package]] 494 | name = "futures-io" 495 | version = "0.3.30" 496 | source = "registry+https://github.com/rust-lang/crates.io-index" 497 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 498 | 499 | [[package]] 500 | name = "futures-macro" 501 | version = "0.3.30" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 504 | dependencies = [ 505 | "proc-macro2", 506 | "quote", 507 | "syn 2.0.66", 508 | ] 509 | 510 | [[package]] 511 | name = "futures-sink" 512 | version = "0.3.30" 513 | source = "registry+https://github.com/rust-lang/crates.io-index" 514 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 515 | 516 | [[package]] 517 | name = "futures-task" 518 | version = "0.3.30" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 521 | 522 | [[package]] 523 | name = "futures-util" 524 | version = "0.3.30" 525 | source = "registry+https://github.com/rust-lang/crates.io-index" 526 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 527 | dependencies = [ 528 | "futures-channel", 529 | "futures-core", 530 | "futures-io", 531 | "futures-macro", 532 | "futures-sink", 533 | "futures-task", 534 | "memchr", 535 | "pin-project-lite", 536 | "pin-utils", 537 | "slab", 538 | ] 539 | 540 | [[package]] 541 | name = "generic-array" 542 | version = "0.14.7" 543 | source = "registry+https://github.com/rust-lang/crates.io-index" 544 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 545 | dependencies = [ 546 | "typenum", 547 | "version_check", 548 | ] 549 | 550 | [[package]] 551 | name = "getrandom" 552 | version = "0.2.15" 553 | source = "registry+https://github.com/rust-lang/crates.io-index" 554 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 555 | dependencies = [ 556 | "cfg-if", 557 | "libc", 558 | "wasi", 559 | ] 560 | 561 | [[package]] 562 | name = "gimli" 563 | version = "0.29.0" 564 | source = "registry+https://github.com/rust-lang/crates.io-index" 565 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 566 | 567 | [[package]] 568 | name = "h2" 569 | version = "0.3.26" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 572 | dependencies = [ 573 | "bytes", 574 | "fnv", 575 | "futures-core", 576 | "futures-sink", 577 | "futures-util", 578 | "http 0.2.12", 579 | "indexmap 2.2.6", 580 | "slab", 581 | "tokio", 582 | "tokio-util", 583 | "tracing", 584 | ] 585 | 586 | [[package]] 587 | name = "h2" 588 | version = "0.4.5" 589 | source = "registry+https://github.com/rust-lang/crates.io-index" 590 | checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" 591 | dependencies = [ 592 | "atomic-waker", 593 | "bytes", 594 | "fnv", 595 | "futures-core", 596 | "futures-sink", 597 | "http 1.1.0", 598 | "indexmap 2.2.6", 599 | "slab", 600 | "tokio", 601 | "tokio-util", 602 | "tracing", 603 | ] 604 | 605 | [[package]] 606 | name = "hashbrown" 607 | version = "0.12.3" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 610 | 611 | [[package]] 612 | name = "hashbrown" 613 | version = "0.14.5" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 616 | dependencies = [ 617 | "ahash", 618 | "allocator-api2", 619 | ] 620 | 621 | [[package]] 622 | name = "heck" 623 | version = "0.3.3" 624 | source = "registry+https://github.com/rust-lang/crates.io-index" 625 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 626 | dependencies = [ 627 | "unicode-segmentation", 628 | ] 629 | 630 | [[package]] 631 | name = "hermit-abi" 632 | version = "0.1.19" 633 | source = "registry+https://github.com/rust-lang/crates.io-index" 634 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 635 | dependencies = [ 636 | "libc", 637 | ] 638 | 639 | [[package]] 640 | name = "hermit-abi" 641 | version = "0.3.9" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 644 | 645 | [[package]] 646 | name = "hex" 647 | version = "0.4.3" 648 | source = "registry+https://github.com/rust-lang/crates.io-index" 649 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 650 | 651 | [[package]] 652 | name = "hostname" 653 | version = "0.3.1" 654 | source = "registry+https://github.com/rust-lang/crates.io-index" 655 | checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" 656 | dependencies = [ 657 | "libc", 658 | "match_cfg", 659 | "winapi", 660 | ] 661 | 662 | [[package]] 663 | name = "http" 664 | version = "0.2.12" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 667 | dependencies = [ 668 | "bytes", 669 | "fnv", 670 | "itoa", 671 | ] 672 | 673 | [[package]] 674 | name = "http" 675 | version = "1.1.0" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 678 | dependencies = [ 679 | "bytes", 680 | "fnv", 681 | "itoa", 682 | ] 683 | 684 | [[package]] 685 | name = "http-body" 686 | version = "0.4.6" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 689 | dependencies = [ 690 | "bytes", 691 | "http 0.2.12", 692 | "pin-project-lite", 693 | ] 694 | 695 | [[package]] 696 | name = "httparse" 697 | version = "1.9.2" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "9f3935c160d00ac752e09787e6e6bfc26494c2183cc922f1bc678a60d4733bc2" 700 | 701 | [[package]] 702 | name = "httpdate" 703 | version = "1.0.3" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 706 | 707 | [[package]] 708 | name = "hyper" 709 | version = "0.14.29" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" 712 | dependencies = [ 713 | "bytes", 714 | "futures-channel", 715 | "futures-core", 716 | "futures-util", 717 | "h2 0.3.26", 718 | "http 0.2.12", 719 | "http-body", 720 | "httparse", 721 | "httpdate", 722 | "itoa", 723 | "pin-project-lite", 724 | "socket2", 725 | "tokio", 726 | "tower-service", 727 | "tracing", 728 | "want", 729 | ] 730 | 731 | [[package]] 732 | name = "hyper-rustls" 733 | version = "0.24.2" 734 | source = "registry+https://github.com/rust-lang/crates.io-index" 735 | checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" 736 | dependencies = [ 737 | "futures-util", 738 | "http 0.2.12", 739 | "hyper", 740 | "rustls", 741 | "tokio", 742 | "tokio-rustls", 743 | ] 744 | 745 | [[package]] 746 | name = "icu_collections" 747 | version = "1.5.0" 748 | source = "registry+https://github.com/rust-lang/crates.io-index" 749 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 750 | dependencies = [ 751 | "displaydoc", 752 | "yoke", 753 | "zerofrom", 754 | "zerovec", 755 | ] 756 | 757 | [[package]] 758 | name = "icu_locid" 759 | version = "1.5.0" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 762 | dependencies = [ 763 | "displaydoc", 764 | "litemap", 765 | "tinystr", 766 | "writeable", 767 | "zerovec", 768 | ] 769 | 770 | [[package]] 771 | name = "icu_locid_transform" 772 | version = "1.5.0" 773 | source = "registry+https://github.com/rust-lang/crates.io-index" 774 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 775 | dependencies = [ 776 | "displaydoc", 777 | "icu_locid", 778 | "icu_locid_transform_data", 779 | "icu_provider", 780 | "tinystr", 781 | "zerovec", 782 | ] 783 | 784 | [[package]] 785 | name = "icu_locid_transform_data" 786 | version = "1.5.0" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" 789 | 790 | [[package]] 791 | name = "icu_normalizer" 792 | version = "1.5.0" 793 | source = "registry+https://github.com/rust-lang/crates.io-index" 794 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 795 | dependencies = [ 796 | "displaydoc", 797 | "icu_collections", 798 | "icu_normalizer_data", 799 | "icu_properties", 800 | "icu_provider", 801 | "smallvec", 802 | "utf16_iter", 803 | "utf8_iter", 804 | "write16", 805 | "zerovec", 806 | ] 807 | 808 | [[package]] 809 | name = "icu_normalizer_data" 810 | version = "1.5.0" 811 | source = "registry+https://github.com/rust-lang/crates.io-index" 812 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" 813 | 814 | [[package]] 815 | name = "icu_properties" 816 | version = "1.5.0" 817 | source = "registry+https://github.com/rust-lang/crates.io-index" 818 | checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" 819 | dependencies = [ 820 | "displaydoc", 821 | "icu_collections", 822 | "icu_locid_transform", 823 | "icu_properties_data", 824 | "icu_provider", 825 | "tinystr", 826 | "zerovec", 827 | ] 828 | 829 | [[package]] 830 | name = "icu_properties_data" 831 | version = "1.5.0" 832 | source = "registry+https://github.com/rust-lang/crates.io-index" 833 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" 834 | 835 | [[package]] 836 | name = "icu_provider" 837 | version = "1.5.0" 838 | source = "registry+https://github.com/rust-lang/crates.io-index" 839 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 840 | dependencies = [ 841 | "displaydoc", 842 | "icu_locid", 843 | "icu_provider_macros", 844 | "stable_deref_trait", 845 | "tinystr", 846 | "writeable", 847 | "yoke", 848 | "zerofrom", 849 | "zerovec", 850 | ] 851 | 852 | [[package]] 853 | name = "icu_provider_macros" 854 | version = "1.5.0" 855 | source = "registry+https://github.com/rust-lang/crates.io-index" 856 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 857 | dependencies = [ 858 | "proc-macro2", 859 | "quote", 860 | "syn 2.0.66", 861 | ] 862 | 863 | [[package]] 864 | name = "idna" 865 | version = "1.0.0" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" 868 | dependencies = [ 869 | "icu_normalizer", 870 | "icu_properties", 871 | "smallvec", 872 | "utf8_iter", 873 | ] 874 | 875 | [[package]] 876 | name = "indexmap" 877 | version = "1.9.3" 878 | source = "registry+https://github.com/rust-lang/crates.io-index" 879 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 880 | dependencies = [ 881 | "autocfg", 882 | "hashbrown 0.12.3", 883 | ] 884 | 885 | [[package]] 886 | name = "indexmap" 887 | version = "2.2.6" 888 | source = "registry+https://github.com/rust-lang/crates.io-index" 889 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 890 | dependencies = [ 891 | "equivalent", 892 | "hashbrown 0.14.5", 893 | ] 894 | 895 | [[package]] 896 | name = "ipnet" 897 | version = "2.9.0" 898 | source = "registry+https://github.com/rust-lang/crates.io-index" 899 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 900 | 901 | [[package]] 902 | name = "itoa" 903 | version = "1.0.11" 904 | source = "registry+https://github.com/rust-lang/crates.io-index" 905 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 906 | 907 | [[package]] 908 | name = "jobserver" 909 | version = "0.1.31" 910 | source = "registry+https://github.com/rust-lang/crates.io-index" 911 | checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" 912 | dependencies = [ 913 | "libc", 914 | ] 915 | 916 | [[package]] 917 | name = "js-sys" 918 | version = "0.3.69" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 921 | dependencies = [ 922 | "wasm-bindgen", 923 | ] 924 | 925 | [[package]] 926 | name = "lazy_static" 927 | version = "1.4.0" 928 | source = "registry+https://github.com/rust-lang/crates.io-index" 929 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 930 | 931 | [[package]] 932 | name = "libc" 933 | version = "0.2.155" 934 | source = "registry+https://github.com/rust-lang/crates.io-index" 935 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 936 | 937 | [[package]] 938 | name = "libz-ng-sys" 939 | version = "1.1.15" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5" 942 | dependencies = [ 943 | "cmake", 944 | "libc", 945 | ] 946 | 947 | [[package]] 948 | name = "linked-hash-map" 949 | version = "0.5.6" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 952 | 953 | [[package]] 954 | name = "litemap" 955 | version = "0.7.3" 956 | source = "registry+https://github.com/rust-lang/crates.io-index" 957 | checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" 958 | 959 | [[package]] 960 | name = "load_balancer" 961 | version = "0.1.0" 962 | dependencies = [ 963 | "async-trait", 964 | "pingora", 965 | ] 966 | 967 | [[package]] 968 | name = "lock_api" 969 | version = "0.4.12" 970 | source = "registry+https://github.com/rust-lang/crates.io-index" 971 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 972 | dependencies = [ 973 | "autocfg", 974 | "scopeguard", 975 | ] 976 | 977 | [[package]] 978 | name = "log" 979 | version = "0.4.21" 980 | source = "registry+https://github.com/rust-lang/crates.io-index" 981 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 982 | 983 | [[package]] 984 | name = "lru" 985 | version = "0.12.3" 986 | source = "registry+https://github.com/rust-lang/crates.io-index" 987 | checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" 988 | dependencies = [ 989 | "hashbrown 0.14.5", 990 | ] 991 | 992 | [[package]] 993 | name = "match_cfg" 994 | version = "0.1.0" 995 | source = "registry+https://github.com/rust-lang/crates.io-index" 996 | checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" 997 | 998 | [[package]] 999 | name = "memchr" 1000 | version = "2.7.2" 1001 | source = "registry+https://github.com/rust-lang/crates.io-index" 1002 | checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 1003 | 1004 | [[package]] 1005 | name = "memoffset" 1006 | version = "0.6.5" 1007 | source = "registry+https://github.com/rust-lang/crates.io-index" 1008 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1009 | dependencies = [ 1010 | "autocfg", 1011 | ] 1012 | 1013 | [[package]] 1014 | name = "mime" 1015 | version = "0.3.17" 1016 | source = "registry+https://github.com/rust-lang/crates.io-index" 1017 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1018 | 1019 | [[package]] 1020 | name = "miniz_oxide" 1021 | version = "0.7.3" 1022 | source = "registry+https://github.com/rust-lang/crates.io-index" 1023 | checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 1024 | dependencies = [ 1025 | "adler", 1026 | ] 1027 | 1028 | [[package]] 1029 | name = "mio" 1030 | version = "0.8.11" 1031 | source = "registry+https://github.com/rust-lang/crates.io-index" 1032 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1033 | dependencies = [ 1034 | "libc", 1035 | "wasi", 1036 | "windows-sys 0.48.0", 1037 | ] 1038 | 1039 | [[package]] 1040 | name = "nix" 1041 | version = "0.24.3" 1042 | source = "registry+https://github.com/rust-lang/crates.io-index" 1043 | checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" 1044 | dependencies = [ 1045 | "bitflags 1.3.2", 1046 | "cfg-if", 1047 | "libc", 1048 | "memoffset", 1049 | ] 1050 | 1051 | [[package]] 1052 | name = "num-conv" 1053 | version = "0.1.0" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1056 | 1057 | [[package]] 1058 | name = "num-traits" 1059 | version = "0.2.19" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1062 | dependencies = [ 1063 | "autocfg", 1064 | ] 1065 | 1066 | [[package]] 1067 | name = "num_cpus" 1068 | version = "1.16.0" 1069 | source = "registry+https://github.com/rust-lang/crates.io-index" 1070 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1071 | dependencies = [ 1072 | "hermit-abi 0.3.9", 1073 | "libc", 1074 | ] 1075 | 1076 | [[package]] 1077 | name = "object" 1078 | version = "0.35.0" 1079 | source = "registry+https://github.com/rust-lang/crates.io-index" 1080 | checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" 1081 | dependencies = [ 1082 | "memchr", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "once_cell" 1087 | version = "1.19.0" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 1090 | 1091 | [[package]] 1092 | name = "openssl" 1093 | version = "0.10.64" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 1096 | dependencies = [ 1097 | "bitflags 2.5.0", 1098 | "cfg-if", 1099 | "foreign-types", 1100 | "libc", 1101 | "once_cell", 1102 | "openssl-macros", 1103 | "openssl-sys", 1104 | ] 1105 | 1106 | [[package]] 1107 | name = "openssl-macros" 1108 | version = "0.1.1" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1111 | dependencies = [ 1112 | "proc-macro2", 1113 | "quote", 1114 | "syn 2.0.66", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "openssl-probe" 1119 | version = "0.1.5" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1122 | 1123 | [[package]] 1124 | name = "openssl-src" 1125 | version = "300.3.1+3.3.1" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" 1128 | dependencies = [ 1129 | "cc", 1130 | ] 1131 | 1132 | [[package]] 1133 | name = "openssl-sys" 1134 | version = "0.9.102" 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" 1136 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 1137 | dependencies = [ 1138 | "cc", 1139 | "libc", 1140 | "openssl-src", 1141 | "pkg-config", 1142 | "vcpkg", 1143 | ] 1144 | 1145 | [[package]] 1146 | name = "parking_lot" 1147 | version = "0.12.3" 1148 | source = "registry+https://github.com/rust-lang/crates.io-index" 1149 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1150 | dependencies = [ 1151 | "lock_api", 1152 | "parking_lot_core", 1153 | ] 1154 | 1155 | [[package]] 1156 | name = "parking_lot_core" 1157 | version = "0.9.10" 1158 | source = "registry+https://github.com/rust-lang/crates.io-index" 1159 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1160 | dependencies = [ 1161 | "cfg-if", 1162 | "libc", 1163 | "redox_syscall", 1164 | "smallvec", 1165 | "windows-targets 0.52.5", 1166 | ] 1167 | 1168 | [[package]] 1169 | name = "paste" 1170 | version = "1.0.15" 1171 | source = "registry+https://github.com/rust-lang/crates.io-index" 1172 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1173 | 1174 | [[package]] 1175 | name = "percent-encoding" 1176 | version = "2.3.1" 1177 | source = "registry+https://github.com/rust-lang/crates.io-index" 1178 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1179 | 1180 | [[package]] 1181 | name = "pin-project-lite" 1182 | version = "0.2.14" 1183 | source = "registry+https://github.com/rust-lang/crates.io-index" 1184 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1185 | 1186 | [[package]] 1187 | name = "pin-utils" 1188 | version = "0.1.0" 1189 | source = "registry+https://github.com/rust-lang/crates.io-index" 1190 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1191 | 1192 | [[package]] 1193 | name = "pingora" 1194 | version = "0.1.1" 1195 | source = "registry+https://github.com/rust-lang/crates.io-index" 1196 | checksum = "ae3bf58882d1fe1b6225f0ab7698084cc0aff33e18e8a1ca4c64365a2129303f" 1197 | dependencies = [ 1198 | "pingora-cache", 1199 | "pingora-core", 1200 | "pingora-http", 1201 | "pingora-load-balancing", 1202 | "pingora-proxy", 1203 | "pingora-timeout", 1204 | ] 1205 | 1206 | [[package]] 1207 | name = "pingora-cache" 1208 | version = "0.1.1" 1209 | source = "registry+https://github.com/rust-lang/crates.io-index" 1210 | checksum = "4f13021ff0dc8f558b2281c804857a30414e3acfb30fcabb548aeddf302c3415" 1211 | dependencies = [ 1212 | "ahash", 1213 | "async-trait", 1214 | "blake2", 1215 | "bytes", 1216 | "hex", 1217 | "http 1.1.0", 1218 | "httparse", 1219 | "httpdate", 1220 | "indexmap 1.9.3", 1221 | "log", 1222 | "lru", 1223 | "once_cell", 1224 | "parking_lot", 1225 | "pingora-core", 1226 | "pingora-error", 1227 | "pingora-header-serde", 1228 | "pingora-http", 1229 | "pingora-lru", 1230 | "pingora-timeout", 1231 | "regex", 1232 | "rmp", 1233 | "rmp-serde", 1234 | "rustracing", 1235 | "rustracing_jaeger", 1236 | "serde", 1237 | "tokio", 1238 | ] 1239 | 1240 | [[package]] 1241 | name = "pingora-core" 1242 | version = "0.1.1" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | checksum = "0386b73155b11f2e4cea2a148acc8f4d861493c1942c616f91f7b08e728b8362" 1245 | dependencies = [ 1246 | "ahash", 1247 | "async-trait", 1248 | "brotli", 1249 | "bytes", 1250 | "chrono", 1251 | "daemonize", 1252 | "flate2", 1253 | "futures", 1254 | "h2 0.4.5", 1255 | "http 1.1.0", 1256 | "httparse", 1257 | "libc", 1258 | "log", 1259 | "lru", 1260 | "nix", 1261 | "once_cell", 1262 | "openssl-probe", 1263 | "parking_lot", 1264 | "percent-encoding", 1265 | "pingora-error", 1266 | "pingora-http", 1267 | "pingora-openssl", 1268 | "pingora-pool", 1269 | "pingora-runtime", 1270 | "pingora-timeout", 1271 | "prometheus", 1272 | "rand", 1273 | "regex", 1274 | "sentry", 1275 | "serde", 1276 | "serde_yaml", 1277 | "sfv", 1278 | "socket2", 1279 | "structopt", 1280 | "thread_local", 1281 | "tokio", 1282 | "tokio-test", 1283 | "unicase", 1284 | "zstd", 1285 | ] 1286 | 1287 | [[package]] 1288 | name = "pingora-error" 1289 | version = "0.1.1" 1290 | source = "registry+https://github.com/rust-lang/crates.io-index" 1291 | checksum = "30e1b430a5092599518520ddf9586c4ef1c8505f9db731775b33d65fa0c4e62d" 1292 | 1293 | [[package]] 1294 | name = "pingora-header-serde" 1295 | version = "0.1.1" 1296 | source = "registry+https://github.com/rust-lang/crates.io-index" 1297 | checksum = "54bafc76f756184e0b62afc6b846e1532bcd0777a0e264d5d1adefa1ada02ba8" 1298 | dependencies = [ 1299 | "bytes", 1300 | "http 1.1.0", 1301 | "httparse", 1302 | "pingora-error", 1303 | "pingora-http", 1304 | "thread_local", 1305 | "zstd", 1306 | "zstd-safe", 1307 | ] 1308 | 1309 | [[package]] 1310 | name = "pingora-http" 1311 | version = "0.1.1" 1312 | source = "registry+https://github.com/rust-lang/crates.io-index" 1313 | checksum = "e2d9ceb146637cf871ec8e74db8970dd20627d1e0b11ea73d3c142886a384749" 1314 | dependencies = [ 1315 | "bytes", 1316 | "http 1.1.0", 1317 | "pingora-error", 1318 | ] 1319 | 1320 | [[package]] 1321 | name = "pingora-ketama" 1322 | version = "0.1.1" 1323 | source = "registry+https://github.com/rust-lang/crates.io-index" 1324 | checksum = "823265457bbe36b5ecac44ad6047b7cd15a94d9fe4e44440134920ee8ffa8736" 1325 | dependencies = [ 1326 | "crc32fast", 1327 | ] 1328 | 1329 | [[package]] 1330 | name = "pingora-load-balancing" 1331 | version = "0.1.1" 1332 | source = "registry+https://github.com/rust-lang/crates.io-index" 1333 | checksum = "c1ac7c0999f923002a6342f584f9f7c83873b2dbb2ab3f9be74e09e263d337c2" 1334 | dependencies = [ 1335 | "arc-swap", 1336 | "async-trait", 1337 | "fnv", 1338 | "futures", 1339 | "log", 1340 | "pingora-core", 1341 | "pingora-error", 1342 | "pingora-http", 1343 | "pingora-ketama", 1344 | "pingora-runtime", 1345 | "rand", 1346 | "tokio", 1347 | ] 1348 | 1349 | [[package]] 1350 | name = "pingora-lru" 1351 | version = "0.1.1" 1352 | source = "registry+https://github.com/rust-lang/crates.io-index" 1353 | checksum = "25868971b9e1fe9c01ada277e85239f83a69986c300f06965deeb4ec871eb786" 1354 | dependencies = [ 1355 | "arrayvec", 1356 | "hashbrown 0.14.5", 1357 | "parking_lot", 1358 | "rand", 1359 | ] 1360 | 1361 | [[package]] 1362 | name = "pingora-openssl" 1363 | version = "0.1.1" 1364 | source = "registry+https://github.com/rust-lang/crates.io-index" 1365 | checksum = "554cbb32a2601b96b5419c01c4b0bb105239bd1cf1e5b4b26b2079f45b828b38" 1366 | dependencies = [ 1367 | "foreign-types", 1368 | "libc", 1369 | "openssl", 1370 | "openssl-src", 1371 | "openssl-sys", 1372 | "tokio-openssl", 1373 | ] 1374 | 1375 | [[package]] 1376 | name = "pingora-pool" 1377 | version = "0.1.1" 1378 | source = "registry+https://github.com/rust-lang/crates.io-index" 1379 | checksum = "a2a68d712c0c907f515f50e13e605bcd2df45e9b2993fd6093c119b0d9aa1dd6" 1380 | dependencies = [ 1381 | "crossbeam-queue", 1382 | "log", 1383 | "lru", 1384 | "parking_lot", 1385 | "pingora-timeout", 1386 | "thread_local", 1387 | "tokio", 1388 | ] 1389 | 1390 | [[package]] 1391 | name = "pingora-proxy" 1392 | version = "0.1.1" 1393 | source = "registry+https://github.com/rust-lang/crates.io-index" 1394 | checksum = "3ad6d0c32670bc450ef3e339a66af62d70c5738be7b2aa24edef0be7f8bace69" 1395 | dependencies = [ 1396 | "async-trait", 1397 | "bytes", 1398 | "futures", 1399 | "h2 0.4.5", 1400 | "http 1.1.0", 1401 | "log", 1402 | "once_cell", 1403 | "pingora-cache", 1404 | "pingora-core", 1405 | "pingora-error", 1406 | "pingora-http", 1407 | "pingora-timeout", 1408 | "regex", 1409 | "structopt", 1410 | "tokio", 1411 | ] 1412 | 1413 | [[package]] 1414 | name = "pingora-runtime" 1415 | version = "0.1.1" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "e826f9833fcbee747c28c64140ab1d36a87959869bff010958193be923ffefb9" 1418 | dependencies = [ 1419 | "once_cell", 1420 | "rand", 1421 | "thread_local", 1422 | "tokio", 1423 | ] 1424 | 1425 | [[package]] 1426 | name = "pingora-timeout" 1427 | version = "0.1.1" 1428 | source = "registry+https://github.com/rust-lang/crates.io-index" 1429 | checksum = "a542dbde4f01760d4edda41b4f58fd90e005be7ac51e97313e9efca43776f825" 1430 | dependencies = [ 1431 | "futures", 1432 | "once_cell", 1433 | "parking_lot", 1434 | "pin-project-lite", 1435 | "thread_local", 1436 | "tokio", 1437 | ] 1438 | 1439 | [[package]] 1440 | name = "pkg-config" 1441 | version = "0.3.30" 1442 | source = "registry+https://github.com/rust-lang/crates.io-index" 1443 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 1444 | 1445 | [[package]] 1446 | name = "powerfmt" 1447 | version = "0.2.0" 1448 | source = "registry+https://github.com/rust-lang/crates.io-index" 1449 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1450 | 1451 | [[package]] 1452 | name = "ppv-lite86" 1453 | version = "0.2.17" 1454 | source = "registry+https://github.com/rust-lang/crates.io-index" 1455 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1456 | 1457 | [[package]] 1458 | name = "proc-macro-error" 1459 | version = "1.0.4" 1460 | source = "registry+https://github.com/rust-lang/crates.io-index" 1461 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1462 | dependencies = [ 1463 | "proc-macro-error-attr", 1464 | "proc-macro2", 1465 | "quote", 1466 | "syn 1.0.109", 1467 | "version_check", 1468 | ] 1469 | 1470 | [[package]] 1471 | name = "proc-macro-error-attr" 1472 | version = "1.0.4" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1475 | dependencies = [ 1476 | "proc-macro2", 1477 | "quote", 1478 | "version_check", 1479 | ] 1480 | 1481 | [[package]] 1482 | name = "proc-macro2" 1483 | version = "1.0.85" 1484 | source = "registry+https://github.com/rust-lang/crates.io-index" 1485 | checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" 1486 | dependencies = [ 1487 | "unicode-ident", 1488 | ] 1489 | 1490 | [[package]] 1491 | name = "prometheus" 1492 | version = "0.13.4" 1493 | source = "registry+https://github.com/rust-lang/crates.io-index" 1494 | checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" 1495 | dependencies = [ 1496 | "cfg-if", 1497 | "fnv", 1498 | "lazy_static", 1499 | "memchr", 1500 | "parking_lot", 1501 | "protobuf", 1502 | "thiserror", 1503 | ] 1504 | 1505 | [[package]] 1506 | name = "protobuf" 1507 | version = "2.28.0" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" 1510 | 1511 | [[package]] 1512 | name = "quote" 1513 | version = "1.0.36" 1514 | source = "registry+https://github.com/rust-lang/crates.io-index" 1515 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 1516 | dependencies = [ 1517 | "proc-macro2", 1518 | ] 1519 | 1520 | [[package]] 1521 | name = "rand" 1522 | version = "0.8.5" 1523 | source = "registry+https://github.com/rust-lang/crates.io-index" 1524 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1525 | dependencies = [ 1526 | "libc", 1527 | "rand_chacha", 1528 | "rand_core", 1529 | ] 1530 | 1531 | [[package]] 1532 | name = "rand_chacha" 1533 | version = "0.3.1" 1534 | source = "registry+https://github.com/rust-lang/crates.io-index" 1535 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1536 | dependencies = [ 1537 | "ppv-lite86", 1538 | "rand_core", 1539 | ] 1540 | 1541 | [[package]] 1542 | name = "rand_core" 1543 | version = "0.6.4" 1544 | source = "registry+https://github.com/rust-lang/crates.io-index" 1545 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1546 | dependencies = [ 1547 | "getrandom", 1548 | ] 1549 | 1550 | [[package]] 1551 | name = "redox_syscall" 1552 | version = "0.5.1" 1553 | source = "registry+https://github.com/rust-lang/crates.io-index" 1554 | checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 1555 | dependencies = [ 1556 | "bitflags 2.5.0", 1557 | ] 1558 | 1559 | [[package]] 1560 | name = "regex" 1561 | version = "1.10.5" 1562 | source = "registry+https://github.com/rust-lang/crates.io-index" 1563 | checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" 1564 | dependencies = [ 1565 | "aho-corasick", 1566 | "memchr", 1567 | "regex-automata", 1568 | "regex-syntax", 1569 | ] 1570 | 1571 | [[package]] 1572 | name = "regex-automata" 1573 | version = "0.4.7" 1574 | source = "registry+https://github.com/rust-lang/crates.io-index" 1575 | checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" 1576 | dependencies = [ 1577 | "aho-corasick", 1578 | "memchr", 1579 | "regex-syntax", 1580 | ] 1581 | 1582 | [[package]] 1583 | name = "regex-syntax" 1584 | version = "0.8.4" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" 1587 | 1588 | [[package]] 1589 | name = "reqwest" 1590 | version = "0.11.27" 1591 | source = "registry+https://github.com/rust-lang/crates.io-index" 1592 | checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" 1593 | dependencies = [ 1594 | "base64", 1595 | "bytes", 1596 | "encoding_rs", 1597 | "futures-core", 1598 | "futures-util", 1599 | "h2 0.3.26", 1600 | "http 0.2.12", 1601 | "http-body", 1602 | "hyper", 1603 | "hyper-rustls", 1604 | "ipnet", 1605 | "js-sys", 1606 | "log", 1607 | "mime", 1608 | "once_cell", 1609 | "percent-encoding", 1610 | "pin-project-lite", 1611 | "rustls", 1612 | "rustls-pemfile", 1613 | "serde", 1614 | "serde_json", 1615 | "serde_urlencoded", 1616 | "sync_wrapper", 1617 | "system-configuration", 1618 | "tokio", 1619 | "tokio-rustls", 1620 | "tower-service", 1621 | "url", 1622 | "wasm-bindgen", 1623 | "wasm-bindgen-futures", 1624 | "web-sys", 1625 | "webpki-roots", 1626 | "winreg", 1627 | ] 1628 | 1629 | [[package]] 1630 | name = "ring" 1631 | version = "0.17.8" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 1634 | dependencies = [ 1635 | "cc", 1636 | "cfg-if", 1637 | "getrandom", 1638 | "libc", 1639 | "spin", 1640 | "untrusted", 1641 | "windows-sys 0.52.0", 1642 | ] 1643 | 1644 | [[package]] 1645 | name = "rmp" 1646 | version = "0.8.14" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" 1649 | dependencies = [ 1650 | "byteorder", 1651 | "num-traits", 1652 | "paste", 1653 | ] 1654 | 1655 | [[package]] 1656 | name = "rmp-serde" 1657 | version = "1.3.0" 1658 | source = "registry+https://github.com/rust-lang/crates.io-index" 1659 | checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" 1660 | dependencies = [ 1661 | "byteorder", 1662 | "rmp", 1663 | "serde", 1664 | ] 1665 | 1666 | [[package]] 1667 | name = "rust_decimal" 1668 | version = "1.35.0" 1669 | source = "registry+https://github.com/rust-lang/crates.io-index" 1670 | checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" 1671 | dependencies = [ 1672 | "arrayvec", 1673 | "num-traits", 1674 | ] 1675 | 1676 | [[package]] 1677 | name = "rustc-demangle" 1678 | version = "0.1.24" 1679 | source = "registry+https://github.com/rust-lang/crates.io-index" 1680 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1681 | 1682 | [[package]] 1683 | name = "rustc_version" 1684 | version = "0.4.0" 1685 | source = "registry+https://github.com/rust-lang/crates.io-index" 1686 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1687 | dependencies = [ 1688 | "semver", 1689 | ] 1690 | 1691 | [[package]] 1692 | name = "rustls" 1693 | version = "0.21.12" 1694 | source = "registry+https://github.com/rust-lang/crates.io-index" 1695 | checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" 1696 | dependencies = [ 1697 | "log", 1698 | "ring", 1699 | "rustls-webpki", 1700 | "sct", 1701 | ] 1702 | 1703 | [[package]] 1704 | name = "rustls-pemfile" 1705 | version = "1.0.4" 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" 1707 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 1708 | dependencies = [ 1709 | "base64", 1710 | ] 1711 | 1712 | [[package]] 1713 | name = "rustls-webpki" 1714 | version = "0.101.7" 1715 | source = "registry+https://github.com/rust-lang/crates.io-index" 1716 | checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" 1717 | dependencies = [ 1718 | "ring", 1719 | "untrusted", 1720 | ] 1721 | 1722 | [[package]] 1723 | name = "rustracing" 1724 | version = "0.5.1" 1725 | source = "registry+https://github.com/rust-lang/crates.io-index" 1726 | checksum = "a44822b10c095e574869de2b891e40c724fef42cadaea040d1cd3bdbb13d36a5" 1727 | dependencies = [ 1728 | "backtrace", 1729 | "crossbeam-channel", 1730 | "rand", 1731 | "trackable 0.2.24", 1732 | ] 1733 | 1734 | [[package]] 1735 | name = "rustracing_jaeger" 1736 | version = "0.7.0" 1737 | source = "registry+https://github.com/rust-lang/crates.io-index" 1738 | checksum = "a6c2fe9411ef5f43ac773f0e84ad735804c55719346a7aad52de2d9162db97c8" 1739 | dependencies = [ 1740 | "crossbeam-channel", 1741 | "hostname", 1742 | "percent-encoding", 1743 | "rand", 1744 | "rustracing", 1745 | "thrift_codec", 1746 | "trackable 0.2.24", 1747 | ] 1748 | 1749 | [[package]] 1750 | name = "ryu" 1751 | version = "1.0.18" 1752 | source = "registry+https://github.com/rust-lang/crates.io-index" 1753 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1754 | 1755 | [[package]] 1756 | name = "scopeguard" 1757 | version = "1.2.0" 1758 | source = "registry+https://github.com/rust-lang/crates.io-index" 1759 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1760 | 1761 | [[package]] 1762 | name = "sct" 1763 | version = "0.7.1" 1764 | source = "registry+https://github.com/rust-lang/crates.io-index" 1765 | checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" 1766 | dependencies = [ 1767 | "ring", 1768 | "untrusted", 1769 | ] 1770 | 1771 | [[package]] 1772 | name = "semver" 1773 | version = "1.0.23" 1774 | source = "registry+https://github.com/rust-lang/crates.io-index" 1775 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 1776 | 1777 | [[package]] 1778 | name = "sentry" 1779 | version = "0.26.0" 1780 | source = "registry+https://github.com/rust-lang/crates.io-index" 1781 | checksum = "904eca4fb30c6112a1dae60c0a9e29cfb42f42129da4260f1ee20e94151b62e3" 1782 | dependencies = [ 1783 | "httpdate", 1784 | "reqwest", 1785 | "sentry-backtrace", 1786 | "sentry-contexts", 1787 | "sentry-core", 1788 | "sentry-panic", 1789 | "tokio", 1790 | ] 1791 | 1792 | [[package]] 1793 | name = "sentry-backtrace" 1794 | version = "0.26.0" 1795 | source = "registry+https://github.com/rust-lang/crates.io-index" 1796 | checksum = "1671189d1b759879fa4bdde46c50a499abb14332ed81f84fc6f60658f41b2fdb" 1797 | dependencies = [ 1798 | "backtrace", 1799 | "lazy_static", 1800 | "regex", 1801 | "sentry-core", 1802 | ] 1803 | 1804 | [[package]] 1805 | name = "sentry-contexts" 1806 | version = "0.26.0" 1807 | source = "registry+https://github.com/rust-lang/crates.io-index" 1808 | checksum = "db80ceff16bb1a4b2689b8758e5e61e405fc4d8ff9f2d1b5b845b76ce37fa34e" 1809 | dependencies = [ 1810 | "hostname", 1811 | "libc", 1812 | "rustc_version", 1813 | "sentry-core", 1814 | "uname", 1815 | ] 1816 | 1817 | [[package]] 1818 | name = "sentry-core" 1819 | version = "0.26.0" 1820 | source = "registry+https://github.com/rust-lang/crates.io-index" 1821 | checksum = "6c9f509d3959ed4dbbd80ca42572caad682aaa1cdd92c719e0815d0e87f82c96" 1822 | dependencies = [ 1823 | "lazy_static", 1824 | "rand", 1825 | "sentry-types", 1826 | "serde", 1827 | "serde_json", 1828 | ] 1829 | 1830 | [[package]] 1831 | name = "sentry-panic" 1832 | version = "0.26.0" 1833 | source = "registry+https://github.com/rust-lang/crates.io-index" 1834 | checksum = "f8b442769cc34115f64393f7bfe4f863c3c38749e0c0b9613a7ae25b37c7ba53" 1835 | dependencies = [ 1836 | "sentry-backtrace", 1837 | "sentry-core", 1838 | ] 1839 | 1840 | [[package]] 1841 | name = "sentry-types" 1842 | version = "0.26.0" 1843 | source = "registry+https://github.com/rust-lang/crates.io-index" 1844 | checksum = "254b600e93e9ef00a48382c9f1e86d27884bd9a5489efa4eb9210c20c72e88a6" 1845 | dependencies = [ 1846 | "debugid", 1847 | "getrandom", 1848 | "hex", 1849 | "serde", 1850 | "serde_json", 1851 | "thiserror", 1852 | "time", 1853 | "url", 1854 | "uuid", 1855 | ] 1856 | 1857 | [[package]] 1858 | name = "serde" 1859 | version = "1.0.203" 1860 | source = "registry+https://github.com/rust-lang/crates.io-index" 1861 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 1862 | dependencies = [ 1863 | "serde_derive", 1864 | ] 1865 | 1866 | [[package]] 1867 | name = "serde_derive" 1868 | version = "1.0.203" 1869 | source = "registry+https://github.com/rust-lang/crates.io-index" 1870 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 1871 | dependencies = [ 1872 | "proc-macro2", 1873 | "quote", 1874 | "syn 2.0.66", 1875 | ] 1876 | 1877 | [[package]] 1878 | name = "serde_json" 1879 | version = "1.0.117" 1880 | source = "registry+https://github.com/rust-lang/crates.io-index" 1881 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1882 | dependencies = [ 1883 | "itoa", 1884 | "ryu", 1885 | "serde", 1886 | ] 1887 | 1888 | [[package]] 1889 | name = "serde_urlencoded" 1890 | version = "0.7.1" 1891 | source = "registry+https://github.com/rust-lang/crates.io-index" 1892 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1893 | dependencies = [ 1894 | "form_urlencoded", 1895 | "itoa", 1896 | "ryu", 1897 | "serde", 1898 | ] 1899 | 1900 | [[package]] 1901 | name = "serde_yaml" 1902 | version = "0.8.26" 1903 | source = "registry+https://github.com/rust-lang/crates.io-index" 1904 | checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" 1905 | dependencies = [ 1906 | "indexmap 1.9.3", 1907 | "ryu", 1908 | "serde", 1909 | "yaml-rust", 1910 | ] 1911 | 1912 | [[package]] 1913 | name = "sfv" 1914 | version = "0.9.4" 1915 | source = "registry+https://github.com/rust-lang/crates.io-index" 1916 | checksum = "f27daf6ed3fc7ffd5ea3ce9f684fe351c47e50f2fdbb6236e2bad0b440dbe408" 1917 | dependencies = [ 1918 | "data-encoding", 1919 | "indexmap 2.2.6", 1920 | "rust_decimal", 1921 | ] 1922 | 1923 | [[package]] 1924 | name = "signal-hook-registry" 1925 | version = "1.4.2" 1926 | source = "registry+https://github.com/rust-lang/crates.io-index" 1927 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1928 | dependencies = [ 1929 | "libc", 1930 | ] 1931 | 1932 | [[package]] 1933 | name = "slab" 1934 | version = "0.4.9" 1935 | source = "registry+https://github.com/rust-lang/crates.io-index" 1936 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1937 | dependencies = [ 1938 | "autocfg", 1939 | ] 1940 | 1941 | [[package]] 1942 | name = "smallvec" 1943 | version = "1.13.2" 1944 | source = "registry+https://github.com/rust-lang/crates.io-index" 1945 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1946 | 1947 | [[package]] 1948 | name = "socket2" 1949 | version = "0.5.7" 1950 | source = "registry+https://github.com/rust-lang/crates.io-index" 1951 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1952 | dependencies = [ 1953 | "libc", 1954 | "windows-sys 0.52.0", 1955 | ] 1956 | 1957 | [[package]] 1958 | name = "spin" 1959 | version = "0.9.8" 1960 | source = "registry+https://github.com/rust-lang/crates.io-index" 1961 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1962 | 1963 | [[package]] 1964 | name = "stable_deref_trait" 1965 | version = "1.2.0" 1966 | source = "registry+https://github.com/rust-lang/crates.io-index" 1967 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1968 | 1969 | [[package]] 1970 | name = "strsim" 1971 | version = "0.8.0" 1972 | source = "registry+https://github.com/rust-lang/crates.io-index" 1973 | checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" 1974 | 1975 | [[package]] 1976 | name = "structopt" 1977 | version = "0.3.26" 1978 | source = "registry+https://github.com/rust-lang/crates.io-index" 1979 | checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" 1980 | dependencies = [ 1981 | "clap", 1982 | "lazy_static", 1983 | "structopt-derive", 1984 | ] 1985 | 1986 | [[package]] 1987 | name = "structopt-derive" 1988 | version = "0.4.18" 1989 | source = "registry+https://github.com/rust-lang/crates.io-index" 1990 | checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" 1991 | dependencies = [ 1992 | "heck", 1993 | "proc-macro-error", 1994 | "proc-macro2", 1995 | "quote", 1996 | "syn 1.0.109", 1997 | ] 1998 | 1999 | [[package]] 2000 | name = "subtle" 2001 | version = "2.5.0" 2002 | source = "registry+https://github.com/rust-lang/crates.io-index" 2003 | checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 2004 | 2005 | [[package]] 2006 | name = "syn" 2007 | version = "1.0.109" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2010 | dependencies = [ 2011 | "proc-macro2", 2012 | "quote", 2013 | "unicode-ident", 2014 | ] 2015 | 2016 | [[package]] 2017 | name = "syn" 2018 | version = "2.0.66" 2019 | source = "registry+https://github.com/rust-lang/crates.io-index" 2020 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" 2021 | dependencies = [ 2022 | "proc-macro2", 2023 | "quote", 2024 | "unicode-ident", 2025 | ] 2026 | 2027 | [[package]] 2028 | name = "sync_wrapper" 2029 | version = "0.1.2" 2030 | source = "registry+https://github.com/rust-lang/crates.io-index" 2031 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 2032 | 2033 | [[package]] 2034 | name = "synstructure" 2035 | version = "0.13.1" 2036 | source = "registry+https://github.com/rust-lang/crates.io-index" 2037 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 2038 | dependencies = [ 2039 | "proc-macro2", 2040 | "quote", 2041 | "syn 2.0.66", 2042 | ] 2043 | 2044 | [[package]] 2045 | name = "system-configuration" 2046 | version = "0.5.1" 2047 | source = "registry+https://github.com/rust-lang/crates.io-index" 2048 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 2049 | dependencies = [ 2050 | "bitflags 1.3.2", 2051 | "core-foundation", 2052 | "system-configuration-sys", 2053 | ] 2054 | 2055 | [[package]] 2056 | name = "system-configuration-sys" 2057 | version = "0.5.0" 2058 | source = "registry+https://github.com/rust-lang/crates.io-index" 2059 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 2060 | dependencies = [ 2061 | "core-foundation-sys", 2062 | "libc", 2063 | ] 2064 | 2065 | [[package]] 2066 | name = "textwrap" 2067 | version = "0.11.0" 2068 | source = "registry+https://github.com/rust-lang/crates.io-index" 2069 | checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" 2070 | dependencies = [ 2071 | "unicode-width", 2072 | ] 2073 | 2074 | [[package]] 2075 | name = "thiserror" 2076 | version = "1.0.61" 2077 | source = "registry+https://github.com/rust-lang/crates.io-index" 2078 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 2079 | dependencies = [ 2080 | "thiserror-impl", 2081 | ] 2082 | 2083 | [[package]] 2084 | name = "thiserror-impl" 2085 | version = "1.0.61" 2086 | source = "registry+https://github.com/rust-lang/crates.io-index" 2087 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 2088 | dependencies = [ 2089 | "proc-macro2", 2090 | "quote", 2091 | "syn 2.0.66", 2092 | ] 2093 | 2094 | [[package]] 2095 | name = "thread_local" 2096 | version = "1.1.8" 2097 | source = "registry+https://github.com/rust-lang/crates.io-index" 2098 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 2099 | dependencies = [ 2100 | "cfg-if", 2101 | "once_cell", 2102 | ] 2103 | 2104 | [[package]] 2105 | name = "thrift_codec" 2106 | version = "0.1.1" 2107 | source = "registry+https://github.com/rust-lang/crates.io-index" 2108 | checksum = "8fb61fb3d0a0af14949f3a6949b2639112e13226647112824f4d081533f9b1a8" 2109 | dependencies = [ 2110 | "byteorder", 2111 | "trackable 0.2.24", 2112 | ] 2113 | 2114 | [[package]] 2115 | name = "time" 2116 | version = "0.3.36" 2117 | source = "registry+https://github.com/rust-lang/crates.io-index" 2118 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 2119 | dependencies = [ 2120 | "deranged", 2121 | "itoa", 2122 | "num-conv", 2123 | "powerfmt", 2124 | "serde", 2125 | "time-core", 2126 | "time-macros", 2127 | ] 2128 | 2129 | [[package]] 2130 | name = "time-core" 2131 | version = "0.1.2" 2132 | source = "registry+https://github.com/rust-lang/crates.io-index" 2133 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 2134 | 2135 | [[package]] 2136 | name = "time-macros" 2137 | version = "0.2.18" 2138 | source = "registry+https://github.com/rust-lang/crates.io-index" 2139 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 2140 | dependencies = [ 2141 | "num-conv", 2142 | "time-core", 2143 | ] 2144 | 2145 | [[package]] 2146 | name = "tinystr" 2147 | version = "0.7.6" 2148 | source = "registry+https://github.com/rust-lang/crates.io-index" 2149 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 2150 | dependencies = [ 2151 | "displaydoc", 2152 | "zerovec", 2153 | ] 2154 | 2155 | [[package]] 2156 | name = "tokio" 2157 | version = "1.38.0" 2158 | source = "registry+https://github.com/rust-lang/crates.io-index" 2159 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 2160 | dependencies = [ 2161 | "backtrace", 2162 | "bytes", 2163 | "libc", 2164 | "mio", 2165 | "num_cpus", 2166 | "pin-project-lite", 2167 | "signal-hook-registry", 2168 | "socket2", 2169 | "tokio-macros", 2170 | "windows-sys 0.48.0", 2171 | ] 2172 | 2173 | [[package]] 2174 | name = "tokio-macros" 2175 | version = "2.3.0" 2176 | source = "registry+https://github.com/rust-lang/crates.io-index" 2177 | checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 2178 | dependencies = [ 2179 | "proc-macro2", 2180 | "quote", 2181 | "syn 2.0.66", 2182 | ] 2183 | 2184 | [[package]] 2185 | name = "tokio-openssl" 2186 | version = "0.6.4" 2187 | source = "registry+https://github.com/rust-lang/crates.io-index" 2188 | checksum = "6ffab79df67727f6acf57f1ff743091873c24c579b1e2ce4d8f53e47ded4d63d" 2189 | dependencies = [ 2190 | "futures-util", 2191 | "openssl", 2192 | "openssl-sys", 2193 | "tokio", 2194 | ] 2195 | 2196 | [[package]] 2197 | name = "tokio-rustls" 2198 | version = "0.24.1" 2199 | source = "registry+https://github.com/rust-lang/crates.io-index" 2200 | checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" 2201 | dependencies = [ 2202 | "rustls", 2203 | "tokio", 2204 | ] 2205 | 2206 | [[package]] 2207 | name = "tokio-stream" 2208 | version = "0.1.15" 2209 | source = "registry+https://github.com/rust-lang/crates.io-index" 2210 | checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" 2211 | dependencies = [ 2212 | "futures-core", 2213 | "pin-project-lite", 2214 | "tokio", 2215 | ] 2216 | 2217 | [[package]] 2218 | name = "tokio-test" 2219 | version = "0.4.4" 2220 | source = "registry+https://github.com/rust-lang/crates.io-index" 2221 | checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7" 2222 | dependencies = [ 2223 | "async-stream", 2224 | "bytes", 2225 | "futures-core", 2226 | "tokio", 2227 | "tokio-stream", 2228 | ] 2229 | 2230 | [[package]] 2231 | name = "tokio-util" 2232 | version = "0.7.11" 2233 | source = "registry+https://github.com/rust-lang/crates.io-index" 2234 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 2235 | dependencies = [ 2236 | "bytes", 2237 | "futures-core", 2238 | "futures-sink", 2239 | "pin-project-lite", 2240 | "tokio", 2241 | ] 2242 | 2243 | [[package]] 2244 | name = "tower-service" 2245 | version = "0.3.2" 2246 | source = "registry+https://github.com/rust-lang/crates.io-index" 2247 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 2248 | 2249 | [[package]] 2250 | name = "tracing" 2251 | version = "0.1.40" 2252 | source = "registry+https://github.com/rust-lang/crates.io-index" 2253 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 2254 | dependencies = [ 2255 | "pin-project-lite", 2256 | "tracing-core", 2257 | ] 2258 | 2259 | [[package]] 2260 | name = "tracing-core" 2261 | version = "0.1.32" 2262 | source = "registry+https://github.com/rust-lang/crates.io-index" 2263 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 2264 | dependencies = [ 2265 | "once_cell", 2266 | ] 2267 | 2268 | [[package]] 2269 | name = "trackable" 2270 | version = "0.2.24" 2271 | source = "registry+https://github.com/rust-lang/crates.io-index" 2272 | checksum = "b98abb9e7300b9ac902cc04920945a874c1973e08c310627cc4458c04b70dd32" 2273 | dependencies = [ 2274 | "trackable 1.3.0", 2275 | "trackable_derive", 2276 | ] 2277 | 2278 | [[package]] 2279 | name = "trackable" 2280 | version = "1.3.0" 2281 | source = "registry+https://github.com/rust-lang/crates.io-index" 2282 | checksum = "b15bd114abb99ef8cee977e517c8f37aee63f184f2d08e3e6ceca092373369ae" 2283 | dependencies = [ 2284 | "trackable_derive", 2285 | ] 2286 | 2287 | [[package]] 2288 | name = "trackable_derive" 2289 | version = "1.0.0" 2290 | source = "registry+https://github.com/rust-lang/crates.io-index" 2291 | checksum = "ebeb235c5847e2f82cfe0f07eb971d1e5f6804b18dac2ae16349cc604380f82f" 2292 | dependencies = [ 2293 | "quote", 2294 | "syn 1.0.109", 2295 | ] 2296 | 2297 | [[package]] 2298 | name = "try-lock" 2299 | version = "0.2.5" 2300 | source = "registry+https://github.com/rust-lang/crates.io-index" 2301 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 2302 | 2303 | [[package]] 2304 | name = "typenum" 2305 | version = "1.17.0" 2306 | source = "registry+https://github.com/rust-lang/crates.io-index" 2307 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 2308 | 2309 | [[package]] 2310 | name = "uname" 2311 | version = "0.1.1" 2312 | source = "registry+https://github.com/rust-lang/crates.io-index" 2313 | checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" 2314 | dependencies = [ 2315 | "libc", 2316 | ] 2317 | 2318 | [[package]] 2319 | name = "unicase" 2320 | version = "2.7.0" 2321 | source = "registry+https://github.com/rust-lang/crates.io-index" 2322 | checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" 2323 | dependencies = [ 2324 | "version_check", 2325 | ] 2326 | 2327 | [[package]] 2328 | name = "unicode-ident" 2329 | version = "1.0.12" 2330 | source = "registry+https://github.com/rust-lang/crates.io-index" 2331 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2332 | 2333 | [[package]] 2334 | name = "unicode-segmentation" 2335 | version = "1.11.0" 2336 | source = "registry+https://github.com/rust-lang/crates.io-index" 2337 | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" 2338 | 2339 | [[package]] 2340 | name = "unicode-width" 2341 | version = "0.1.13" 2342 | source = "registry+https://github.com/rust-lang/crates.io-index" 2343 | checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" 2344 | 2345 | [[package]] 2346 | name = "untrusted" 2347 | version = "0.9.0" 2348 | source = "registry+https://github.com/rust-lang/crates.io-index" 2349 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 2350 | 2351 | [[package]] 2352 | name = "url" 2353 | version = "2.5.1" 2354 | source = "registry+https://github.com/rust-lang/crates.io-index" 2355 | checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" 2356 | dependencies = [ 2357 | "form_urlencoded", 2358 | "idna", 2359 | "percent-encoding", 2360 | "serde", 2361 | ] 2362 | 2363 | [[package]] 2364 | name = "utf16_iter" 2365 | version = "1.0.5" 2366 | source = "registry+https://github.com/rust-lang/crates.io-index" 2367 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 2368 | 2369 | [[package]] 2370 | name = "utf8_iter" 2371 | version = "1.0.4" 2372 | source = "registry+https://github.com/rust-lang/crates.io-index" 2373 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 2374 | 2375 | [[package]] 2376 | name = "uuid" 2377 | version = "1.8.0" 2378 | source = "registry+https://github.com/rust-lang/crates.io-index" 2379 | checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 2380 | dependencies = [ 2381 | "getrandom", 2382 | "serde", 2383 | ] 2384 | 2385 | [[package]] 2386 | name = "vcpkg" 2387 | version = "0.2.15" 2388 | source = "registry+https://github.com/rust-lang/crates.io-index" 2389 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2390 | 2391 | [[package]] 2392 | name = "vec_map" 2393 | version = "0.8.2" 2394 | source = "registry+https://github.com/rust-lang/crates.io-index" 2395 | checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 2396 | 2397 | [[package]] 2398 | name = "version_check" 2399 | version = "0.9.4" 2400 | source = "registry+https://github.com/rust-lang/crates.io-index" 2401 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2402 | 2403 | [[package]] 2404 | name = "want" 2405 | version = "0.3.1" 2406 | source = "registry+https://github.com/rust-lang/crates.io-index" 2407 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 2408 | dependencies = [ 2409 | "try-lock", 2410 | ] 2411 | 2412 | [[package]] 2413 | name = "wasi" 2414 | version = "0.11.0+wasi-snapshot-preview1" 2415 | source = "registry+https://github.com/rust-lang/crates.io-index" 2416 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2417 | 2418 | [[package]] 2419 | name = "wasm-bindgen" 2420 | version = "0.2.92" 2421 | source = "registry+https://github.com/rust-lang/crates.io-index" 2422 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 2423 | dependencies = [ 2424 | "cfg-if", 2425 | "wasm-bindgen-macro", 2426 | ] 2427 | 2428 | [[package]] 2429 | name = "wasm-bindgen-backend" 2430 | version = "0.2.92" 2431 | source = "registry+https://github.com/rust-lang/crates.io-index" 2432 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 2433 | dependencies = [ 2434 | "bumpalo", 2435 | "log", 2436 | "once_cell", 2437 | "proc-macro2", 2438 | "quote", 2439 | "syn 2.0.66", 2440 | "wasm-bindgen-shared", 2441 | ] 2442 | 2443 | [[package]] 2444 | name = "wasm-bindgen-futures" 2445 | version = "0.4.42" 2446 | source = "registry+https://github.com/rust-lang/crates.io-index" 2447 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 2448 | dependencies = [ 2449 | "cfg-if", 2450 | "js-sys", 2451 | "wasm-bindgen", 2452 | "web-sys", 2453 | ] 2454 | 2455 | [[package]] 2456 | name = "wasm-bindgen-macro" 2457 | version = "0.2.92" 2458 | source = "registry+https://github.com/rust-lang/crates.io-index" 2459 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 2460 | dependencies = [ 2461 | "quote", 2462 | "wasm-bindgen-macro-support", 2463 | ] 2464 | 2465 | [[package]] 2466 | name = "wasm-bindgen-macro-support" 2467 | version = "0.2.92" 2468 | source = "registry+https://github.com/rust-lang/crates.io-index" 2469 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 2470 | dependencies = [ 2471 | "proc-macro2", 2472 | "quote", 2473 | "syn 2.0.66", 2474 | "wasm-bindgen-backend", 2475 | "wasm-bindgen-shared", 2476 | ] 2477 | 2478 | [[package]] 2479 | name = "wasm-bindgen-shared" 2480 | version = "0.2.92" 2481 | source = "registry+https://github.com/rust-lang/crates.io-index" 2482 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 2483 | 2484 | [[package]] 2485 | name = "web-sys" 2486 | version = "0.3.69" 2487 | source = "registry+https://github.com/rust-lang/crates.io-index" 2488 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 2489 | dependencies = [ 2490 | "js-sys", 2491 | "wasm-bindgen", 2492 | ] 2493 | 2494 | [[package]] 2495 | name = "webpki-roots" 2496 | version = "0.25.4" 2497 | source = "registry+https://github.com/rust-lang/crates.io-index" 2498 | checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" 2499 | 2500 | [[package]] 2501 | name = "winapi" 2502 | version = "0.3.9" 2503 | source = "registry+https://github.com/rust-lang/crates.io-index" 2504 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2505 | dependencies = [ 2506 | "winapi-i686-pc-windows-gnu", 2507 | "winapi-x86_64-pc-windows-gnu", 2508 | ] 2509 | 2510 | [[package]] 2511 | name = "winapi-i686-pc-windows-gnu" 2512 | version = "0.4.0" 2513 | source = "registry+https://github.com/rust-lang/crates.io-index" 2514 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2515 | 2516 | [[package]] 2517 | name = "winapi-x86_64-pc-windows-gnu" 2518 | version = "0.4.0" 2519 | source = "registry+https://github.com/rust-lang/crates.io-index" 2520 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2521 | 2522 | [[package]] 2523 | name = "windows-sys" 2524 | version = "0.48.0" 2525 | source = "registry+https://github.com/rust-lang/crates.io-index" 2526 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2527 | dependencies = [ 2528 | "windows-targets 0.48.5", 2529 | ] 2530 | 2531 | [[package]] 2532 | name = "windows-sys" 2533 | version = "0.52.0" 2534 | source = "registry+https://github.com/rust-lang/crates.io-index" 2535 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2536 | dependencies = [ 2537 | "windows-targets 0.52.5", 2538 | ] 2539 | 2540 | [[package]] 2541 | name = "windows-targets" 2542 | version = "0.48.5" 2543 | source = "registry+https://github.com/rust-lang/crates.io-index" 2544 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2545 | dependencies = [ 2546 | "windows_aarch64_gnullvm 0.48.5", 2547 | "windows_aarch64_msvc 0.48.5", 2548 | "windows_i686_gnu 0.48.5", 2549 | "windows_i686_msvc 0.48.5", 2550 | "windows_x86_64_gnu 0.48.5", 2551 | "windows_x86_64_gnullvm 0.48.5", 2552 | "windows_x86_64_msvc 0.48.5", 2553 | ] 2554 | 2555 | [[package]] 2556 | name = "windows-targets" 2557 | version = "0.52.5" 2558 | source = "registry+https://github.com/rust-lang/crates.io-index" 2559 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 2560 | dependencies = [ 2561 | "windows_aarch64_gnullvm 0.52.5", 2562 | "windows_aarch64_msvc 0.52.5", 2563 | "windows_i686_gnu 0.52.5", 2564 | "windows_i686_gnullvm", 2565 | "windows_i686_msvc 0.52.5", 2566 | "windows_x86_64_gnu 0.52.5", 2567 | "windows_x86_64_gnullvm 0.52.5", 2568 | "windows_x86_64_msvc 0.52.5", 2569 | ] 2570 | 2571 | [[package]] 2572 | name = "windows_aarch64_gnullvm" 2573 | version = "0.48.5" 2574 | source = "registry+https://github.com/rust-lang/crates.io-index" 2575 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2576 | 2577 | [[package]] 2578 | name = "windows_aarch64_gnullvm" 2579 | version = "0.52.5" 2580 | source = "registry+https://github.com/rust-lang/crates.io-index" 2581 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 2582 | 2583 | [[package]] 2584 | name = "windows_aarch64_msvc" 2585 | version = "0.48.5" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2588 | 2589 | [[package]] 2590 | name = "windows_aarch64_msvc" 2591 | version = "0.52.5" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 2594 | 2595 | [[package]] 2596 | name = "windows_i686_gnu" 2597 | version = "0.48.5" 2598 | source = "registry+https://github.com/rust-lang/crates.io-index" 2599 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2600 | 2601 | [[package]] 2602 | name = "windows_i686_gnu" 2603 | version = "0.52.5" 2604 | source = "registry+https://github.com/rust-lang/crates.io-index" 2605 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 2606 | 2607 | [[package]] 2608 | name = "windows_i686_gnullvm" 2609 | version = "0.52.5" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 2612 | 2613 | [[package]] 2614 | name = "windows_i686_msvc" 2615 | version = "0.48.5" 2616 | source = "registry+https://github.com/rust-lang/crates.io-index" 2617 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2618 | 2619 | [[package]] 2620 | name = "windows_i686_msvc" 2621 | version = "0.52.5" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 2624 | 2625 | [[package]] 2626 | name = "windows_x86_64_gnu" 2627 | version = "0.48.5" 2628 | source = "registry+https://github.com/rust-lang/crates.io-index" 2629 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2630 | 2631 | [[package]] 2632 | name = "windows_x86_64_gnu" 2633 | version = "0.52.5" 2634 | source = "registry+https://github.com/rust-lang/crates.io-index" 2635 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 2636 | 2637 | [[package]] 2638 | name = "windows_x86_64_gnullvm" 2639 | version = "0.48.5" 2640 | source = "registry+https://github.com/rust-lang/crates.io-index" 2641 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2642 | 2643 | [[package]] 2644 | name = "windows_x86_64_gnullvm" 2645 | version = "0.52.5" 2646 | source = "registry+https://github.com/rust-lang/crates.io-index" 2647 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 2648 | 2649 | [[package]] 2650 | name = "windows_x86_64_msvc" 2651 | version = "0.48.5" 2652 | source = "registry+https://github.com/rust-lang/crates.io-index" 2653 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2654 | 2655 | [[package]] 2656 | name = "windows_x86_64_msvc" 2657 | version = "0.52.5" 2658 | source = "registry+https://github.com/rust-lang/crates.io-index" 2659 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 2660 | 2661 | [[package]] 2662 | name = "winreg" 2663 | version = "0.50.0" 2664 | source = "registry+https://github.com/rust-lang/crates.io-index" 2665 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 2666 | dependencies = [ 2667 | "cfg-if", 2668 | "windows-sys 0.48.0", 2669 | ] 2670 | 2671 | [[package]] 2672 | name = "write16" 2673 | version = "1.0.0" 2674 | source = "registry+https://github.com/rust-lang/crates.io-index" 2675 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 2676 | 2677 | [[package]] 2678 | name = "writeable" 2679 | version = "0.5.5" 2680 | source = "registry+https://github.com/rust-lang/crates.io-index" 2681 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 2682 | 2683 | [[package]] 2684 | name = "yaml-rust" 2685 | version = "0.4.5" 2686 | source = "registry+https://github.com/rust-lang/crates.io-index" 2687 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" 2688 | dependencies = [ 2689 | "linked-hash-map", 2690 | ] 2691 | 2692 | [[package]] 2693 | name = "yoke" 2694 | version = "0.7.4" 2695 | source = "registry+https://github.com/rust-lang/crates.io-index" 2696 | checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" 2697 | dependencies = [ 2698 | "serde", 2699 | "stable_deref_trait", 2700 | "yoke-derive", 2701 | "zerofrom", 2702 | ] 2703 | 2704 | [[package]] 2705 | name = "yoke-derive" 2706 | version = "0.7.4" 2707 | source = "registry+https://github.com/rust-lang/crates.io-index" 2708 | checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" 2709 | dependencies = [ 2710 | "proc-macro2", 2711 | "quote", 2712 | "syn 2.0.66", 2713 | "synstructure", 2714 | ] 2715 | 2716 | [[package]] 2717 | name = "zerocopy" 2718 | version = "0.7.34" 2719 | source = "registry+https://github.com/rust-lang/crates.io-index" 2720 | checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" 2721 | dependencies = [ 2722 | "zerocopy-derive", 2723 | ] 2724 | 2725 | [[package]] 2726 | name = "zerocopy-derive" 2727 | version = "0.7.34" 2728 | source = "registry+https://github.com/rust-lang/crates.io-index" 2729 | checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" 2730 | dependencies = [ 2731 | "proc-macro2", 2732 | "quote", 2733 | "syn 2.0.66", 2734 | ] 2735 | 2736 | [[package]] 2737 | name = "zerofrom" 2738 | version = "0.1.4" 2739 | source = "registry+https://github.com/rust-lang/crates.io-index" 2740 | checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" 2741 | dependencies = [ 2742 | "zerofrom-derive", 2743 | ] 2744 | 2745 | [[package]] 2746 | name = "zerofrom-derive" 2747 | version = "0.1.4" 2748 | source = "registry+https://github.com/rust-lang/crates.io-index" 2749 | checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" 2750 | dependencies = [ 2751 | "proc-macro2", 2752 | "quote", 2753 | "syn 2.0.66", 2754 | "synstructure", 2755 | ] 2756 | 2757 | [[package]] 2758 | name = "zerovec" 2759 | version = "0.10.2" 2760 | source = "registry+https://github.com/rust-lang/crates.io-index" 2761 | checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" 2762 | dependencies = [ 2763 | "yoke", 2764 | "zerofrom", 2765 | "zerovec-derive", 2766 | ] 2767 | 2768 | [[package]] 2769 | name = "zerovec-derive" 2770 | version = "0.10.2" 2771 | source = "registry+https://github.com/rust-lang/crates.io-index" 2772 | checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" 2773 | dependencies = [ 2774 | "proc-macro2", 2775 | "quote", 2776 | "syn 2.0.66", 2777 | ] 2778 | 2779 | [[package]] 2780 | name = "zstd" 2781 | version = "0.9.2+zstd.1.5.1" 2782 | source = "registry+https://github.com/rust-lang/crates.io-index" 2783 | checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54" 2784 | dependencies = [ 2785 | "zstd-safe", 2786 | ] 2787 | 2788 | [[package]] 2789 | name = "zstd-safe" 2790 | version = "4.1.3+zstd.1.5.1" 2791 | source = "registry+https://github.com/rust-lang/crates.io-index" 2792 | checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79" 2793 | dependencies = [ 2794 | "libc", 2795 | "zstd-sys", 2796 | ] 2797 | 2798 | [[package]] 2799 | name = "zstd-sys" 2800 | version = "1.6.2+zstd.1.5.1" 2801 | source = "registry+https://github.com/rust-lang/crates.io-index" 2802 | checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" 2803 | dependencies = [ 2804 | "cc", 2805 | "libc", 2806 | ] 2807 | --------------------------------------------------------------------------------