fastcgi 1.0.0

FastCGI library written in pure Rust
Documentation
Build #1502260 2024-11-06 19:35:16
# rustc version
rustc 1.84.0-nightly (bc5cf994d 2024-11-05)# docs.rs version
docsrs 0.6.0 (36c721fb 2024-11-06)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/fastcgi-1.0.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/fastcgi-1.0.0/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace-builder/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace-builder/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20241105-1.84.0-nightly-bc5cf994d\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] f9fbe9873eff8923155d9207853c4e837dfed44807572f7277eb10c639f1ca10
[INFO] running `Command { std: "docker" "start" "-a" "f9fbe9873eff8923155d9207853c4e837dfed44807572f7277eb10c639f1ca10", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     try!((&mut r).take(1).read_to_end(&mut buf));
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:95:21
[INFO] [stderr]    |
[INFO] [stderr] 95 |             assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3);
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:111:19
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let key_len = try!(read_len(r));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:112:21
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let value_len = try!(read_len(r));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |     assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize);
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 |     assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize);
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:125:27
[INFO] [stderr]     |
[INFO] [stderr] 125 |             params.extend(try!(read_pairs(r)).into_iter());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |         try!(w.write_all(&[n as u8]));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |         try!(w.write_all(&buf));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |         try!(write_len(w, key.len() as u32));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |         try!(write_len(w, value.len() as u32));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:149:9
[INFO] [stderr]     |
[INFO] [stderr] 149 |         try!(write!(w, "{}{}", key, value));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:163:5
[INFO] [stderr]     |
[INFO] [stderr] 163 |     try!(w.write_all(&[
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     try!(w.write_all(content));
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |     assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN);
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |     assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize);
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:182:13
[INFO] [stderr]     |
[INFO] [stderr] 182 |     assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize);
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:203:17
[INFO] [stderr]     |
[INFO] [stderr] 203 |                 try!(write_record(w, 3, request_id, &content));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:206:17
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 try!(write_record(w, 6, request_id, &content));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:209:17
[INFO] [stderr]     |
[INFO] [stderr] 209 |                 try!(write_record(w, 7, request_id, &content));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:213:17
[INFO] [stderr]     |
[INFO] [stderr] 213 |                 try!(write_pairs(&mut content, items));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:214:17
[INFO] [stderr]     |
[INFO] [stderr] 214 |                 try!(write_record(w, 10, 0, &content.into_inner()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:218:17
[INFO] [stderr]     |
[INFO] [stderr] 218 |                 try!(write_record(w, 11, 0, &content));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:226:50
[INFO] [stderr]     |
[INFO] [stderr] 226 |         let (record_type, request_id, content) = try!(read_record(r));
[INFO] [stderr]     |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:250:29
[INFO] [stderr]     |
[INFO] [stderr] 250 |                 let items = try!(read_pairs(&mut Cursor::new(content)));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:287:24
[INFO] [stderr]     |
[INFO] [stderr] 287 |                 match (try!(Record::receive(&mut sock)), self.req.filter_data) {
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:289:25
[INFO] [stderr]     |
[INFO] [stderr] 289 |                         try!(Record::UnknownType(rec_type).send(&mut sock));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:292:25
[INFO] [stderr]     |
[INFO] [stderr] 292 |                         try!(
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:298:25
[INFO] [stderr]     |
[INFO] [stderr] 298 |                         try!(Record::EndRequest {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:341:13
[INFO] [stderr]     |
[INFO] [stderr] 341 |             try!(chunk.read(buf))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:340:29
[INFO] [stderr]     |
[INFO] [stderr] 340 |             let mut chunk = try!(self.fill_buf());
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:367:25
[INFO] [stderr]     |
[INFO] [stderr] 367 |                         try!(rec.send(&mut &*self.req.sock));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 | writer!(Stdout);
[INFO] [stderr]     | --------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:367:25
[INFO] [stderr]     |
[INFO] [stderr] 367 |                         try!(rec.send(&mut &*self.req.sock));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 | writer!(Stderr);
[INFO] [stderr]     | --------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:419:19
[INFO] [stderr]     |
[INFO] [stderr] 419 |             match try!(Record::receive(&mut sock)) {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:421:21
[INFO] [stderr]     |
[INFO] [stderr] 421 |                     try!(Record::UnknownType(rec_type).send(&mut sock));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:424:21
[INFO] [stderr]     |
[INFO] [stderr] 424 |                     try!(Record::GetValuesResult(get_values(keys)).send(&mut sock));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:430:21
[INFO] [stderr]     |
[INFO] [stderr] 430 |                     try!(Record::EndRequest {
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:446:19
[INFO] [stderr]     |
[INFO] [stderr] 446 |             match try!(Record::receive(&mut &*sock)) {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:448:21
[INFO] [stderr]     |
[INFO] [stderr] 448 |                     try!(Record::UnknownType(rec_type).send(&mut &*sock));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:451:21
[INFO] [stderr]     |
[INFO] [stderr] 451 |                     try!(
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:457:21
[INFO] [stderr]     |
[INFO] [stderr] 457 |                     try!(Record::EndRequest {
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:477:39
[INFO] [stderr]     |
[INFO] [stderr] 477 |                         params.extend(try!(read_pairs(&mut Cursor::new(&buf))));
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:403:27
[INFO] [stderr]     |
[INFO] [stderr] 403 | pub type Params<'a> = Box<Iterator<Item = (String, String)> + 'a>;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 403 | pub type Params<'a> = Box<dyn Iterator<Item = (String, String)> + 'a>;
[INFO] [stderr]     |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:132:24
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn write_len<W: Write>(mut w: &mut W, n: u32) -> io::Result<()> {
[INFO] [stderr]     |                        ----^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:578:30
[INFO] [stderr]     |
[INFO] [stderr] 578 |             Err(e) => panic!(e.to_string()),
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 578 |             Err(e) => panic!("{}", e.to_string()),
[INFO] [stderr]     |                              +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `fastcgi` (lib) generated 45 warnings (run `cargo fix --lib -p fastcgi` to apply 3 suggestions)
[INFO] [stderr]     Scraping fastcgi v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]  Documenting fastcgi v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]    Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/fastcgi/index.html
[INFO] running `Command { std: "docker" "inspect" "f9fbe9873eff8923155d9207853c4e837dfed44807572f7277eb10c639f1ca10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9fbe9873eff8923155d9207853c4e837dfed44807572f7277eb10c639f1ca10", kill_on_drop: false }`
[INFO] [stdout] f9fbe9873eff8923155d9207853c4e837dfed44807572f7277eb10c639f1ca10