├── Cargo.toml ├── src └── main.rs └── Cargo.lock /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "sandbox-rust-hyper" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | hyper = { version = "1", features = ["full"] } 8 | tokio = { version = "1", features = ["full"] } 9 | http-body-util = "0.1" 10 | hyper-util = { version = "0.1", features = ["full"] } 11 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::convert::Infallible; 2 | use std::net::SocketAddr; 3 | 4 | use http_body_util::Full; 5 | use hyper::body::Bytes; 6 | use hyper::server::conn::http1; 7 | use hyper::service::service_fn; 8 | use hyper::{Request, Response}; 9 | use hyper_util::rt::TokioIo; 10 | use tokio::net::TcpListener; 11 | use hyper::{Method, StatusCode}; 12 | use http_body_util::{combinators::BoxBody, BodyExt}; 13 | use hyper::header::HeaderValue; 14 | 15 | 16 | #[tokio::main] 17 | async fn main() -> Result<(), Box> { 18 | let addr = SocketAddr::from(([127, 0, 0, 1], 3000)); 19 | let listener = TcpListener::bind(addr).await?; 20 | loop { 21 | let (stream, _) = listener.accept().await?; 22 | let io = TokioIo::new(stream); 23 | tokio::task::spawn(async move { 24 | if let Err(err) = http1::Builder::new() 25 | .serve_connection(io, service_fn(catch_all)) 26 | .await 27 | { 28 | eprintln!("Error serving connection: {:?}", err); 29 | } 30 | }); 31 | } 32 | } 33 | 34 | // function to catch all incoming requests 35 | async fn catch_all(req: Request) -> Result>, hyper::Error> { 36 | match req.uri().path() { 37 | "/" => { 38 | match req.method() { 39 | &Method::GET => { 40 | let mut res = Response::new(box_response("

Hello, World!

")); 41 | res.headers_mut().insert("Content-Type", HeaderValue::from_static("text/html")); 42 | return Ok(res) 43 | }, 44 | _ => { 45 | let mut invalid_method = Response::new(box_response("invalid method")); 46 | *invalid_method.status_mut() = StatusCode::METHOD_NOT_ALLOWED; 47 | return Ok(invalid_method) 48 | } 49 | } 50 | 51 | }, 52 | _ => { 53 | let mut not_found = Response::new(box_response("

404 not found

")); 54 | *not_found.status_mut() = StatusCode::NOT_FOUND; 55 | not_found.headers_mut().insert("Content-Type", HeaderValue::from_static("text/html")); 56 | return Ok(not_found) 57 | } 58 | } 59 | } 60 | 61 | // utility function to box up our response body 62 | fn box_response>(chunk: T) -> BoxBody { 63 | Full::new(chunk.into()) 64 | .map_err(|never| match never {}) 65 | .boxed() 66 | } 67 | -------------------------------------------------------------------------------- /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.24.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler2" 16 | version = "2.0.0" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 | 20 | [[package]] 21 | name = "atomic-waker" 22 | version = "1.1.2" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 25 | 26 | [[package]] 27 | name = "autocfg" 28 | version = "1.4.0" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 31 | 32 | [[package]] 33 | name = "backtrace" 34 | version = "0.3.74" 35 | source = "registry+https://github.com/rust-lang/crates.io-index" 36 | checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 37 | dependencies = [ 38 | "addr2line", 39 | "cfg-if", 40 | "libc", 41 | "miniz_oxide", 42 | "object", 43 | "rustc-demangle", 44 | "windows-targets", 45 | ] 46 | 47 | [[package]] 48 | name = "bitflags" 49 | version = "2.6.0" 50 | source = "registry+https://github.com/rust-lang/crates.io-index" 51 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 52 | 53 | [[package]] 54 | name = "bytes" 55 | version = "1.9.0" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" 58 | 59 | [[package]] 60 | name = "cfg-if" 61 | version = "1.0.0" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 64 | 65 | [[package]] 66 | name = "equivalent" 67 | version = "1.0.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 70 | 71 | [[package]] 72 | name = "fnv" 73 | version = "1.0.7" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 76 | 77 | [[package]] 78 | name = "futures-channel" 79 | version = "0.3.31" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 82 | dependencies = [ 83 | "futures-core", 84 | ] 85 | 86 | [[package]] 87 | name = "futures-core" 88 | version = "0.3.31" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 91 | 92 | [[package]] 93 | name = "futures-sink" 94 | version = "0.3.31" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 97 | 98 | [[package]] 99 | name = "futures-task" 100 | version = "0.3.31" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 103 | 104 | [[package]] 105 | name = "futures-util" 106 | version = "0.3.31" 107 | source = "registry+https://github.com/rust-lang/crates.io-index" 108 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 109 | dependencies = [ 110 | "futures-core", 111 | "futures-task", 112 | "pin-project-lite", 113 | "pin-utils", 114 | ] 115 | 116 | [[package]] 117 | name = "gimli" 118 | version = "0.31.1" 119 | source = "registry+https://github.com/rust-lang/crates.io-index" 120 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 121 | 122 | [[package]] 123 | name = "h2" 124 | version = "0.4.7" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" 127 | dependencies = [ 128 | "atomic-waker", 129 | "bytes", 130 | "fnv", 131 | "futures-core", 132 | "futures-sink", 133 | "http", 134 | "indexmap", 135 | "slab", 136 | "tokio", 137 | "tokio-util", 138 | "tracing", 139 | ] 140 | 141 | [[package]] 142 | name = "hashbrown" 143 | version = "0.15.2" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 146 | 147 | [[package]] 148 | name = "http" 149 | version = "1.2.0" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" 152 | dependencies = [ 153 | "bytes", 154 | "fnv", 155 | "itoa", 156 | ] 157 | 158 | [[package]] 159 | name = "http-body" 160 | version = "1.0.1" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 163 | dependencies = [ 164 | "bytes", 165 | "http", 166 | ] 167 | 168 | [[package]] 169 | name = "http-body-util" 170 | version = "0.1.2" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 173 | dependencies = [ 174 | "bytes", 175 | "futures-util", 176 | "http", 177 | "http-body", 178 | "pin-project-lite", 179 | ] 180 | 181 | [[package]] 182 | name = "httparse" 183 | version = "1.9.5" 184 | source = "registry+https://github.com/rust-lang/crates.io-index" 185 | checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" 186 | 187 | [[package]] 188 | name = "httpdate" 189 | version = "1.0.3" 190 | source = "registry+https://github.com/rust-lang/crates.io-index" 191 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 192 | 193 | [[package]] 194 | name = "hyper" 195 | version = "1.5.1" 196 | source = "registry+https://github.com/rust-lang/crates.io-index" 197 | checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" 198 | dependencies = [ 199 | "bytes", 200 | "futures-channel", 201 | "futures-util", 202 | "h2", 203 | "http", 204 | "http-body", 205 | "httparse", 206 | "httpdate", 207 | "itoa", 208 | "pin-project-lite", 209 | "smallvec", 210 | "tokio", 211 | "want", 212 | ] 213 | 214 | [[package]] 215 | name = "hyper-util" 216 | version = "0.1.10" 217 | source = "registry+https://github.com/rust-lang/crates.io-index" 218 | checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" 219 | dependencies = [ 220 | "bytes", 221 | "futures-channel", 222 | "futures-util", 223 | "http", 224 | "http-body", 225 | "hyper", 226 | "pin-project-lite", 227 | "socket2", 228 | "tokio", 229 | "tower-service", 230 | "tracing", 231 | ] 232 | 233 | [[package]] 234 | name = "indexmap" 235 | version = "2.7.0" 236 | source = "registry+https://github.com/rust-lang/crates.io-index" 237 | checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" 238 | dependencies = [ 239 | "equivalent", 240 | "hashbrown", 241 | ] 242 | 243 | [[package]] 244 | name = "itoa" 245 | version = "1.0.14" 246 | source = "registry+https://github.com/rust-lang/crates.io-index" 247 | checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" 248 | 249 | [[package]] 250 | name = "libc" 251 | version = "0.2.168" 252 | source = "registry+https://github.com/rust-lang/crates.io-index" 253 | checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" 254 | 255 | [[package]] 256 | name = "lock_api" 257 | version = "0.4.12" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 260 | dependencies = [ 261 | "autocfg", 262 | "scopeguard", 263 | ] 264 | 265 | [[package]] 266 | name = "memchr" 267 | version = "2.7.4" 268 | source = "registry+https://github.com/rust-lang/crates.io-index" 269 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 270 | 271 | [[package]] 272 | name = "miniz_oxide" 273 | version = "0.8.0" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" 276 | dependencies = [ 277 | "adler2", 278 | ] 279 | 280 | [[package]] 281 | name = "mio" 282 | version = "1.0.3" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 285 | dependencies = [ 286 | "libc", 287 | "wasi", 288 | "windows-sys", 289 | ] 290 | 291 | [[package]] 292 | name = "object" 293 | version = "0.36.5" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" 296 | dependencies = [ 297 | "memchr", 298 | ] 299 | 300 | [[package]] 301 | name = "once_cell" 302 | version = "1.20.2" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" 305 | 306 | [[package]] 307 | name = "parking_lot" 308 | version = "0.12.3" 309 | source = "registry+https://github.com/rust-lang/crates.io-index" 310 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 311 | dependencies = [ 312 | "lock_api", 313 | "parking_lot_core", 314 | ] 315 | 316 | [[package]] 317 | name = "parking_lot_core" 318 | version = "0.9.10" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 321 | dependencies = [ 322 | "cfg-if", 323 | "libc", 324 | "redox_syscall", 325 | "smallvec", 326 | "windows-targets", 327 | ] 328 | 329 | [[package]] 330 | name = "pin-project-lite" 331 | version = "0.2.15" 332 | source = "registry+https://github.com/rust-lang/crates.io-index" 333 | checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" 334 | 335 | [[package]] 336 | name = "pin-utils" 337 | version = "0.1.0" 338 | source = "registry+https://github.com/rust-lang/crates.io-index" 339 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 340 | 341 | [[package]] 342 | name = "proc-macro2" 343 | version = "1.0.92" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" 346 | dependencies = [ 347 | "unicode-ident", 348 | ] 349 | 350 | [[package]] 351 | name = "quote" 352 | version = "1.0.37" 353 | source = "registry+https://github.com/rust-lang/crates.io-index" 354 | checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" 355 | dependencies = [ 356 | "proc-macro2", 357 | ] 358 | 359 | [[package]] 360 | name = "redox_syscall" 361 | version = "0.5.8" 362 | source = "registry+https://github.com/rust-lang/crates.io-index" 363 | checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" 364 | dependencies = [ 365 | "bitflags", 366 | ] 367 | 368 | [[package]] 369 | name = "rustc-demangle" 370 | version = "0.1.24" 371 | source = "registry+https://github.com/rust-lang/crates.io-index" 372 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 373 | 374 | [[package]] 375 | name = "sandbox-rust-hyper" 376 | version = "0.1.0" 377 | dependencies = [ 378 | "http-body-util", 379 | "hyper", 380 | "hyper-util", 381 | "tokio", 382 | ] 383 | 384 | [[package]] 385 | name = "scopeguard" 386 | version = "1.2.0" 387 | source = "registry+https://github.com/rust-lang/crates.io-index" 388 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 389 | 390 | [[package]] 391 | name = "signal-hook-registry" 392 | version = "1.4.2" 393 | source = "registry+https://github.com/rust-lang/crates.io-index" 394 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 395 | dependencies = [ 396 | "libc", 397 | ] 398 | 399 | [[package]] 400 | name = "slab" 401 | version = "0.4.9" 402 | source = "registry+https://github.com/rust-lang/crates.io-index" 403 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 404 | dependencies = [ 405 | "autocfg", 406 | ] 407 | 408 | [[package]] 409 | name = "smallvec" 410 | version = "1.13.2" 411 | source = "registry+https://github.com/rust-lang/crates.io-index" 412 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 413 | 414 | [[package]] 415 | name = "socket2" 416 | version = "0.5.8" 417 | source = "registry+https://github.com/rust-lang/crates.io-index" 418 | checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" 419 | dependencies = [ 420 | "libc", 421 | "windows-sys", 422 | ] 423 | 424 | [[package]] 425 | name = "syn" 426 | version = "2.0.90" 427 | source = "registry+https://github.com/rust-lang/crates.io-index" 428 | checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" 429 | dependencies = [ 430 | "proc-macro2", 431 | "quote", 432 | "unicode-ident", 433 | ] 434 | 435 | [[package]] 436 | name = "tokio" 437 | version = "1.42.0" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" 440 | dependencies = [ 441 | "backtrace", 442 | "bytes", 443 | "libc", 444 | "mio", 445 | "parking_lot", 446 | "pin-project-lite", 447 | "signal-hook-registry", 448 | "socket2", 449 | "tokio-macros", 450 | "windows-sys", 451 | ] 452 | 453 | [[package]] 454 | name = "tokio-macros" 455 | version = "2.4.0" 456 | source = "registry+https://github.com/rust-lang/crates.io-index" 457 | checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" 458 | dependencies = [ 459 | "proc-macro2", 460 | "quote", 461 | "syn", 462 | ] 463 | 464 | [[package]] 465 | name = "tokio-util" 466 | version = "0.7.13" 467 | source = "registry+https://github.com/rust-lang/crates.io-index" 468 | checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" 469 | dependencies = [ 470 | "bytes", 471 | "futures-core", 472 | "futures-sink", 473 | "pin-project-lite", 474 | "tokio", 475 | ] 476 | 477 | [[package]] 478 | name = "tower-service" 479 | version = "0.3.3" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 482 | 483 | [[package]] 484 | name = "tracing" 485 | version = "0.1.41" 486 | source = "registry+https://github.com/rust-lang/crates.io-index" 487 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 488 | dependencies = [ 489 | "pin-project-lite", 490 | "tracing-core", 491 | ] 492 | 493 | [[package]] 494 | name = "tracing-core" 495 | version = "0.1.33" 496 | source = "registry+https://github.com/rust-lang/crates.io-index" 497 | checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 498 | dependencies = [ 499 | "once_cell", 500 | ] 501 | 502 | [[package]] 503 | name = "try-lock" 504 | version = "0.2.5" 505 | source = "registry+https://github.com/rust-lang/crates.io-index" 506 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 507 | 508 | [[package]] 509 | name = "unicode-ident" 510 | version = "1.0.14" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" 513 | 514 | [[package]] 515 | name = "want" 516 | version = "0.3.1" 517 | source = "registry+https://github.com/rust-lang/crates.io-index" 518 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 519 | dependencies = [ 520 | "try-lock", 521 | ] 522 | 523 | [[package]] 524 | name = "wasi" 525 | version = "0.11.0+wasi-snapshot-preview1" 526 | source = "registry+https://github.com/rust-lang/crates.io-index" 527 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 528 | 529 | [[package]] 530 | name = "windows-sys" 531 | version = "0.52.0" 532 | source = "registry+https://github.com/rust-lang/crates.io-index" 533 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 534 | dependencies = [ 535 | "windows-targets", 536 | ] 537 | 538 | [[package]] 539 | name = "windows-targets" 540 | version = "0.52.6" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 543 | dependencies = [ 544 | "windows_aarch64_gnullvm", 545 | "windows_aarch64_msvc", 546 | "windows_i686_gnu", 547 | "windows_i686_gnullvm", 548 | "windows_i686_msvc", 549 | "windows_x86_64_gnu", 550 | "windows_x86_64_gnullvm", 551 | "windows_x86_64_msvc", 552 | ] 553 | 554 | [[package]] 555 | name = "windows_aarch64_gnullvm" 556 | version = "0.52.6" 557 | source = "registry+https://github.com/rust-lang/crates.io-index" 558 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 559 | 560 | [[package]] 561 | name = "windows_aarch64_msvc" 562 | version = "0.52.6" 563 | source = "registry+https://github.com/rust-lang/crates.io-index" 564 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 565 | 566 | [[package]] 567 | name = "windows_i686_gnu" 568 | version = "0.52.6" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 571 | 572 | [[package]] 573 | name = "windows_i686_gnullvm" 574 | version = "0.52.6" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 577 | 578 | [[package]] 579 | name = "windows_i686_msvc" 580 | version = "0.52.6" 581 | source = "registry+https://github.com/rust-lang/crates.io-index" 582 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 583 | 584 | [[package]] 585 | name = "windows_x86_64_gnu" 586 | version = "0.52.6" 587 | source = "registry+https://github.com/rust-lang/crates.io-index" 588 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 589 | 590 | [[package]] 591 | name = "windows_x86_64_gnullvm" 592 | version = "0.52.6" 593 | source = "registry+https://github.com/rust-lang/crates.io-index" 594 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 595 | 596 | [[package]] 597 | name = "windows_x86_64_msvc" 598 | version = "0.52.6" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 601 | --------------------------------------------------------------------------------