[INFO] cloning repository https://github.com/mbirtwell/mikes_crawler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mbirtwell/mikes_crawler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbirtwell%2Fmikes_crawler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbirtwell%2Fmikes_crawler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7cea81e081345fbb4591192d02e709f3cce089f0
[INFO] testing mbirtwell/mikes_crawler against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbirtwell%2Fmikes_crawler" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/mbirtwell/mikes_crawler
[INFO] finished tweaking git repo https://github.com/mbirtwell/mikes_crawler
[INFO] tweaked toml for git repo https://github.com/mbirtwell/mikes_crawler written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mbirtwell/mikes_crawler on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mbirtwell/mikes_crawler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b031b716d9e2f24f1a11b71af32d27fe7d70e8d850debc800a8475f254200c07
[INFO] running `Command { std: "docker" "start" "-a" "b031b716d9e2f24f1a11b71af32d27fe7d70e8d850debc800a8475f254200c07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b031b716d9e2f24f1a11b71af32d27fe7d70e8d850debc800a8475f254200c07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b031b716d9e2f24f1a11b71af32d27fe7d70e8d850debc800a8475f254200c07", kill_on_drop: false }`
[INFO] [stdout] b031b716d9e2f24f1a11b71af32d27fe7d70e8d850debc800a8475f254200c07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e6505845a571867e1683b7234d4b6c289e58bdbf574acc786daa07663618983
[INFO] running `Command { std: "docker" "start" "-a" "0e6505845a571867e1683b7234d4b6c289e58bdbf574acc786daa07663618983", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling libc v0.2.106
[INFO] [stderr]    Compiling syn v1.0.81
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling futures-sink v0.3.17
[INFO] [stderr]    Compiling slab v0.4.5
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling yansi v0.5.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.9.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling http v0.2.5
[INFO] [stderr]    Compiling tracing-core v0.1.21
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling tokio v1.13.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling tracing v0.1.29
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling futures-io v0.3.17
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling socket2 v0.4.2
[INFO] [stderr]    Compiling const_fn v0.4.8
[INFO] [stderr]    Compiling httpdate v1.0.1
[INFO] [stderr]    Compiling pkg-config v0.3.22
[INFO] [stderr]    Compiling siphasher v0.3.7
[INFO] [stderr]    Compiling cc v1.0.71
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling cookie v0.15.1
[INFO] [stderr]    Compiling inlinable_string v0.1.14
[INFO] [stderr]    Compiling ref-cast v1.0.6
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling uncased v0.9.6
[INFO] [stderr]    Compiling openssl-sys v0.9.70
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling serde_json v1.0.69
[INFO] [stderr]    Compiling state v0.5.2
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling tinyvec v1.5.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.1
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling figment v0.10.6
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling atomic v0.5.0
[INFO] [stderr]    Compiling multer v2.0.1
[INFO] [stderr]    Compiling schemars v0.8.6
[INFO] [stderr]    Compiling async-trait v0.1.51
[INFO] [stderr]    Compiling unchecked-index v0.2.2
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling openssl-probe v0.1.4
[INFO] [stderr]    Compiling futf v0.1.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling twoway v0.2.2
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling serde_derive_internals v0.25.0
[INFO] [stderr]    Compiling h2 v0.3.7
[INFO] [stderr]    Compiling devise_core v0.3.1
[INFO] [stderr]    Compiling darling_core v0.13.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling rocket v0.5.0-rc.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling spin v0.9.2
[INFO] [stderr]    Compiling dyn-clone v1.0.4
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling arc-swap v1.4.0
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling tokio-macros v1.5.1
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling pear_codegen v0.2.3
[INFO] [stderr]    Compiling ref-cast-impl v1.0.6
[INFO] [stderr]    Compiling devise_codegen v0.3.1
[INFO] [stderr]    Compiling darling_macro v0.13.0
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling pear v0.2.3
[INFO] [stderr]    Compiling devise v0.3.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.2
[INFO] [stderr]    Compiling schemars_derive v0.8.6
[INFO] [stderr]    Compiling async-stream v0.3.2
[INFO] [stderr]    Compiling darling v0.13.0
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling slog-scope v4.4.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling tendril v0.4.2
[INFO] [stderr]    Compiling hyper v0.14.14
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling anyhow v1.0.45
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling ipnet v2.3.1
[INFO] [stderr]    Compiling futures-executor v0.3.17
[INFO] [stderr]    Compiling slog-scope-futures v0.1.1
[INFO] [stderr]    Compiling slog-term v2.8.0
[INFO] [stderr]    Compiling futures v0.3.17
[INFO] [stderr]    Compiling slog-stdlog v4.1.0
[INFO] [stderr]    Compiling robotstxt v0.3.0
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling rocket_http v0.5.0-rc.1
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling string_cache v0.8.2
[INFO] [stderr]    Compiling ubyte v0.10.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling rocket_codegen v0.5.0-rc.1
[INFO] [stderr]    Compiling rocket_okapi_codegen v0.8.0-rc.1
[INFO] [stderr]    Compiling okapi v0.7.0-rc.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.6
[INFO] [stderr]    Compiling rocket_okapi v0.8.0-rc.1
[INFO] [stderr]    Compiling mikes_crawler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crawl`
[INFO] [stdout]    --> src/api.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn crawl(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list`
[INFO] [stdout]    --> src/api.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub async fn list(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]    --> src/api.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub async fn count(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `status`
[INFO] [stdout]    --> src/api.rs:192:14
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub async fn status(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 26s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: html5ever v0.25.1, ubyte v0.10.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "0e6505845a571867e1683b7234d4b6c289e58bdbf574acc786daa07663618983", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e6505845a571867e1683b7234d4b6c289e58bdbf574acc786daa07663618983", kill_on_drop: false }`
[INFO] [stdout] 0e6505845a571867e1683b7234d4b6c289e58bdbf574acc786daa07663618983
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea5e1f21c9b9e6b73b32b4e7c760d7b93881703762242180fac05acbdb6c1d8a
[INFO] running `Command { std: "docker" "start" "-a" "ea5e1f21c9b9e6b73b32b4e7c760d7b93881703762242180fac05acbdb6c1d8a", kill_on_drop: false }`
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.8
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling futures-io v0.3.17
[INFO] [stderr]    Compiling ctor v0.1.21
[INFO] [stderr]    Compiling socket2 v0.4.2
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]    Compiling fastrand v1.5.0
[INFO] [stderr]    Compiling tracing v0.1.29
[INFO] [stderr]    Compiling libz-sys v1.1.3
[INFO] [stderr]    Compiling futures-lite v1.12.0
[INFO] [stderr]    Compiling libnghttp2-sys v0.1.7+1.45.0
[INFO] [stderr]    Compiling h2 v0.3.7
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling async-channel v1.6.1
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling curl-sys v0.4.50+curl-7.79.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling polling v2.1.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling tokio v1.13.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling async-io v1.6.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling lalrpop-util v0.19.6
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling string_cache v0.8.2
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling atomic-waker v1.0.0
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling blocking v1.0.2
[INFO] [stderr]    Compiling futures-executor v0.3.17
[INFO] [stderr]    Compiling futures v0.3.17
[INFO] [stderr]    Compiling async-executor v1.4.1
[INFO] [stderr]    Compiling async-mutex v1.4.0
[INFO] [stderr]    Compiling hyper v0.14.14
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling curl v0.4.40
[INFO] [stderr]    Compiling lalrpop v0.19.6
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling async-global-executor v2.0.2
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling pin-project v1.0.8
[INFO] [stderr]    Compiling async-process v1.2.0
[INFO] [stderr]    Compiling okapi v0.7.0-rc.1
[INFO] [stderr]    Compiling multer v2.0.1
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling async-lock v2.4.0
[INFO] [stderr]    Compiling rocket_http v0.5.0-rc.1
[INFO] [stderr]    Compiling isahc v1.5.1
[INFO] [stderr]    Compiling async-std v1.10.0
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling slog-stdlog v4.1.0
[INFO] [stderr]    Compiling sluice v0.5.5
[INFO] [stderr]    Compiling castaway v0.1.1
[INFO] [stderr]    Compiling serde_regex v1.1.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.1
[INFO] [stderr]    Compiling qstring v0.7.2
[INFO] [stderr]    Compiling levenshtein v1.0.5
[INFO] [stderr]    Compiling rocket_codegen v0.5.0-rc.1
[INFO] [stderr]    Compiling rocket_okapi_codegen v0.8.0-rc.1
[INFO] [stderr]    Compiling difference v2.0.0
[INFO] [stderr]    Compiling unindent v0.1.7
[INFO] [stderr]    Compiling indoc v1.0.3
[INFO] [stderr]    Compiling urlencoding v2.1.0
[INFO] [stderr]    Compiling async-object-pool v0.1.4
[INFO] [stderr]    Compiling basic-cookies v0.1.4
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling httpmock v0.6.2
[INFO] [stderr]    Compiling reqwest v0.11.6
[INFO] [stderr]    Compiling rocket v0.5.0-rc.1
[INFO] [stderr]    Compiling rocket_okapi v0.8.0-rc.1
[INFO] [stderr]    Compiling mikes_crawler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crawl`
[INFO] [stdout]    --> src/api.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn crawl(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list`
[INFO] [stdout]    --> src/api.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub async fn list(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]    --> src/api.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub async fn count(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `status`
[INFO] [stdout]    --> src/api.rs:192:14
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub async fn status(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crawl`
[INFO] [stdout]    --> src/api.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub async fn crawl(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `list`
[INFO] [stdout]    --> src/api.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub async fn list(
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]    --> src/api.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub async fn count(
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `status`
[INFO] [stdout]    --> src/api.rs:192:14
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub async fn status(
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: html5ever v0.25.1, lalrpop v0.19.6, ubyte v0.10.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "ea5e1f21c9b9e6b73b32b4e7c760d7b93881703762242180fac05acbdb6c1d8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea5e1f21c9b9e6b73b32b4e7c760d7b93881703762242180fac05acbdb6c1d8a", kill_on_drop: false }`
[INFO] [stdout] ea5e1f21c9b9e6b73b32b4e7c760d7b93881703762242180fac05acbdb6c1d8a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 794345f89b033d1ddb16857ebf50bebce7ea4c726a8555c62cf32bab70df1bd9
[INFO] running `Command { std: "docker" "start" "-a" "794345f89b033d1ddb16857ebf50bebce7ea4c726a8555c62cf32bab70df1bd9", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crawl`
[INFO] [stderr]    --> src/api.rs:124:14
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub async fn crawl(
[INFO] [stderr]     |              ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `list`
[INFO] [stderr]    --> src/api.rs:151:14
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub async fn list(
[INFO] [stderr]     |              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `count`
[INFO] [stderr]    --> src/api.rs:174:14
[INFO] [stderr]     |
[INFO] [stderr] 174 | pub async fn count(
[INFO] [stderr]     |              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `status`
[INFO] [stderr]    --> src/api.rs:192:14
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub async fn status(
[INFO] [stderr]     |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `mikes_crawler` (lib) generated 4 warnings (run `cargo fix --lib -p mikes_crawler` to apply 4 suggestions)
[INFO] [stderr] warning: `mikes_crawler` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: html5ever v0.25.1, lalrpop v0.19.6, ubyte v0.10.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mikes_crawler-7d4b6a53278a7515)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] Sep 25 14:51:59.795 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.796 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.796 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.796 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.796 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.797 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com, REQ: b17g
[INFO] [stdout] Sep 25 14:51:59.797 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com[0m:
[INFO] [stdout] Sep 25 14:51:59.797 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.797 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.797 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com with status 500 Internal Server Error in 0.000s, REQ: b17g
[INFO] [stdout] test api::tests::crawl_return_internal_error_from_crawler ... ok
[INFO] [stdout] Sep 25 14:51:59.797 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://notexample.com/target
[INFO] [stdout] test crawler::tests::dont_follow_external_redirects ... ok
[INFO] [stdout] Sep 25 14:51:59.800 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.801 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.801 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.801 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.801 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.801 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.801 INFO[mikes_crawler::better_logging] Received request: /status, REQ: cXbS
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [32mGET[0m [34m/status[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] Matched: [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[mikes_crawler::better_logging] Completed request /status with status 200 OK in 0.000s, REQ: cXbS
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.802 INFO[mikes_crawler::better_logging] Received request: /crawl/garbage, REQ: EBRf
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [32mGET[0m [34m/crawl/garbage[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.802 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[mikes_crawler::better_logging] Completed request /crawl/garbage with status 400 Bad Request in 0.000s, REQ: EBRf
[INFO] [stdout] Sep 25 14:51:59.802 INFO[mikes_crawler::better_logging] Received request: /status, REQ: e8LX
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [32mGET[0m [34m/status[0m:
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] Matched: [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.802 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.796 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F/count, REQ: Lazu
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F/count[0m:
[INFO] [stdout] Sep 25 14:51:59.803 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::server] Matched: [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F, REQ: oTTD
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F[0m:
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.803 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F/count with status 200 OK in 0.000s, REQ: Lazu
[INFO] [stdout] Sep 25 14:51:59.804 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.804 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F with status 200 OK in 0.000s, REQ: oTTD
[INFO] [stdout] Sep 25 14:51:59.802 INFO[mikes_crawler::better_logging] Completed request /status with status 500 Internal Server Error in 0.000s, REQ: e8LX
[INFO] [stdout] test api::tests::status_returns_result_from_crawler ... ok
[INFO] [stdout] test api::tests::count_returns_the_number_of_visited_urls ... ok
[INFO] [stdout] test api::tests::crawl_returns_result_from_crawler ... ok
[INFO] [stdout] Sep 25 14:51:59.804 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/target
[INFO] [stdout] Sep 25 14:51:59.804 INFO[mikes_crawler::crawler] Got body to process from https://example.com/target containing 129 chars
[INFO] [stdout] Sep 25 14:51:59.804 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Sep 25 14:51:59.805 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link1 containing 0 chars
[INFO] [stdout] Sep 25 14:51:59.805 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 0 chars
[INFO] [stdout] Sep 25 14:51:59.795 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:51:59.806 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:51:59.806 INFO[mikes_crawler::crawler] Got body to process from https://example.com/back containing 131 chars
[INFO] [stdout] Sep 25 14:51:59.806 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:51:59.806 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:51:59.806 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:51:59.807 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Sep 25 14:51:59.807 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F/list, REQ: DEp9
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F/list[0m:
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::server] Matched: [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:51:59.807 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:51:59.808 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 133 chars
[INFO] [stdout] Sep 25 14:51:59.808 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/start
[INFO] [stdout] test crawler::tests::dont_revisit_if_found_from_redirect ... ok
[INFO] [stdout] test crawler::tests::follows_multiple_internal_links ... ok
[INFO] [stdout] test crawler::tests::dont_revisit_due_to_redirect ... ok
[INFO] [stdout] Sep 25 14:51:59.813 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page containing 190 chars
[INFO] [stdout] test api::tests::status_return_internal_error_from_crawler ... ok
[INFO] [stdout] Sep 25 14:51:59.813 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/target
[INFO] [stdout] Sep 25 14:51:59.813 INFO[mikes_crawler::crawler] Got body to process from https://example.com/target containing 135 chars
[INFO] [stdout] Sep 25 14:51:59.814 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F/list with status 200 OK in 0.006s, REQ: DEp9
[INFO] [stdout] test crawler::tests::reports_redirect_and_target ... ok
[INFO] [stdout] Sep 25 14:51:59.814 INFO[mikes_crawler::crawler] Error trying to make request or process response: Connection failed
[INFO] [stdout] test crawler::tests::reports_single_network_error ... ok
[INFO] [stdout] Sep 25 14:51:59.815 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 135 chars
[INFO] [stdout] Sep 25 14:51:59.815 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page containing 133 chars
[INFO] [stdout] Sep 25 14:51:59.815 INFO[mikes_crawler::crawler] Got non html response containing: x-application/pdf
[INFO] [stdout] test crawler::tests::ignores_non_html ... ok
[INFO] [stdout] test crawler::tests::reports_single_page_with_external_links ... ok
[INFO] [stdout] test crawler::tests::dont_visit_fragments_separately ... ok
[INFO] [stdout] Sep 25 14:51:59.815 INFO[mikes_crawler::crawler] Got response with status 500 Internal Server Error: Not processing the body
[INFO] [stdout] Sep 25 14:51:59.815 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Sep 25 14:51:59.816 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 130 chars
[INFO] [stdout] test crawler::tests::reports_single_server_error ... ok
[INFO] [stdout] test crawler::tests::ignores_link_to_page_excluded_by_robots_txt ... ok
[INFO] [stdout] Sep 25 14:51:59.816 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Sep 25 14:51:59.816 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page1 containing 0 chars
[INFO] [stdout] Sep 25 14:51:59.816 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page2 containing 0 chars
[INFO] [stdout] Sep 25 14:51:59.816 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link1 containing 130 chars
[INFO] [stdout] test link_extractor::tests::continues_after_script_tags ... ok
[INFO] [stdout] Sep 25 14:51:59.817 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 130 chars
[INFO] [stdout] test link_extractor::tests::extracts_links_in_domain_as_internal_link ... ok
[INFO] [stdout] test crawler::tests::stop_after_loop_of_pages ... ok
[INFO] [stdout] test crawler::tests::get_some_status ... ok
[INFO] [stdout] test link_extractor::tests::empty_lists_for_empty_html ... ok
[INFO] [stdout] Sep 25 14:51:59.823 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link1 containing 180 chars
[INFO] [stdout] Sep 25 14:51:59.824 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 180 chars
[INFO] [stdout] test crawler::tests::stop_after_parallel_loop_of_pages ... ok
[INFO] [stdout] test link_extractor::tests::extracts_links_in_other_domain_as_external_link ... ok
[INFO] [stdout] test link_extractor::tests::relative_links_are_internal_links ... ok
[INFO] [stdout] test api::tests::crawl_return_bad_request_for_non_url ... ok
[INFO] [stdout] test api::tests::list_returns_all_visited_urls ... ok
[INFO] [stdout] Sep 25 14:51:59.937 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page1 containing 0 chars
[INFO] [stdout] Sep 25 14:51:59.937 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page2 containing 0 chars
[INFO] [stdout] test crawler::tests::crawl_tracking_is_removed_if_theres_an_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mikes_crawler-5df82194177ba081)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-8df41b4500da4f4d)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] Sep 25 14:51:59.970 TRCE[polling::epoll] add: epoll_fd=14, fd=16, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Sep 25 14:51:59.971 INFO[httpmock::server] Listening on 127.0.0.1:45879
[INFO] [stdout] Sep 25 14:51:59.971 TRCE[polling::epoll] add: epoll_fd=14, fd=15, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.971 TRCE[polling::epoll] new: epoll_fd=14, event_fd=15, timer_fd=Some(16)
[INFO] [stdout] Sep 25 14:51:59.971 DEBG[<unknown>] agent_thread; id=0
[INFO] [stdout] Sep 25 14:51:59.975 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Sep 25 14:51:59.976 DEBG[<unknown>] agent took 5.2435ms to start up 
[INFO] [stdout] Sep 25 14:51:59.985 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:45879/__httpmock__/ping
[INFO] [stdout] Sep 25 14:51:59.985 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.985 DEBG[<unknown>] handler
[INFO] [stdout] Sep 25 14:51:59.985 TRCE[polling] Poller::notify()
[INFO] [stdout] Sep 25 14:51:59.985 TRCE[polling::epoll] notify: epoll_fd=14, event_fd=15
[INFO] [stdout] Sep 25 14:51:59.985 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.987 INFO[httpmock::server] Listening on 127.0.0.1:36803
[INFO] [stdout] Sep 25 14:51:59.988 TRCE[polling::epoll] add: epoll_fd=25, fd=27, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Sep 25 14:51:59.988 TRCE[polling::epoll] add: epoll_fd=25, fd=26, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] new: epoll_fd=25, event_fd=26, timer_fd=Some(27)
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] agent_thread; id=1
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] agent took 363.02µs to start up 
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:36803/__httpmock__/ping
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] handler
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling] Poller::notify()
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] notify: epoll_fd=25, event_fd=26
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] wait: epoll_fd=25, timeout=Some(0ns)
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] modify: epoll_fd=25, fd=27, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] new events: epoll_fd=25, res=1
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[polling::epoll] modify: epoll_fd=25, fd=26, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>]   Trying 127.0.0.1:36803... 
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.989 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 30 
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.989 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.990 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 36803 (#0) 
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:36803\r\nAccept: */*\r\nAccept-Encoding: deflate, gzip\r\nuser-agent: curl/7.79.1-DEV isahc/1.5.1\r\nContent-Length: 0\r\n\r\n 
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] add: epoll_fd=25, fd=30, ev=Event { key: 30, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling] Poller::wait(_, Some(198.9736ms))
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] wait: epoll_fd=25, timeout=Some(198.9736ms)
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] modify: epoll_fd=25, fd=27, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] add: epoll_fd=36, fd=38, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] add: epoll_fd=36, fd=37, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[polling::epoll] new: epoll_fd=36, event_fd=37, timer_fd=Some(38)
[INFO] [stdout] Sep 25 14:51:59.990 DEBG[<unknown>] agent_thread; id=2
[INFO] [stdout] Sep 25 14:51:59.990 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:44445/__httpmock__/ping
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling] Poller::notify()
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] notify: epoll_fd=36, event_fd=37
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] agent took 681.86µs to start up 
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:36803"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] wait: epoll_fd=36, timeout=Some(0ns)
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] modify: epoll_fd=36, fd=38, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] new events: epoll_fd=36, res=1
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] modify: epoll_fd=36, fd=37, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>]   Trying 127.0.0.1:44445... 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 42 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.991 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 44445 (#0) 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:44445\r\nAccept: */*\r\nAccept-Encoding: deflate, gzip\r\nuser-agent: curl/7.79.1-DEV isahc/1.5.1\r\nContent-Length: 0\r\n\r\n 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:51:59.992 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[polling::epoll] new events: epoll_fd=25, res=1
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[polling::epoll] modify: epoll_fd=25, fd=26, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] socket event socket=30 readable=true writable=false 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] << date: Thu, 25 Sep 2025 14:51:59 GMT\r\n 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.992 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[polling::epoll] remove: epoll_fd=25, fd=30
[INFO] [stdout] Sep 25 14:51:59.992 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.993 TRCE[<unknown>] -- handler
[INFO] [stdout] Sep 25 14:51:59.993 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -- send_async
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] add: epoll_fd=48, fd=50, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] add: epoll_fd=48, fd=49, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] new: epoll_fd=48, event_fd=49, timer_fd=Some(50)
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=1
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[<unknown>] agent_thread; id=3
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=2
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=3
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=4
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[httpmock::server::web::handlers] Adding new mock with ID=5
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] wait: epoll_fd=14, timeout=Some(0ns)
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] modify: epoll_fd=14, fd=16, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] new events: epoll_fd=14, res=1
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] modify: epoll_fd=14, fd=15, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[<unknown>]   Trying 127.0.0.1:45879... 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[reqwest::blocking::wait] (ThreadId(2)) park without timeout
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 51 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.994 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 45879 (#0) 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[reqwest::blocking::client] (ThreadId(23)) start runtime::block_on
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:45879\r\nAccept: */*\r\nAccept-Encoding: deflate, gzip\r\nuser-agent: curl/7.79.1-DEV isahc/1.5.1\r\nContent-Length: 0\r\n\r\n 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] add: epoll_fd=14, fd=51, ev=Event { key: 51, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling] Poller::wait(_, Some(198.97352ms))
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] wait: epoll_fd=14, timeout=Some(198.97352ms)
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[polling::epoll] modify: epoll_fd=14, fd=16, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.994 INFO[httpmock::server] Listening on 127.0.0.1:34993
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.994 INFO[httpmock::server] Listening on 127.0.0.1:44445
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:51:59.994 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:45879"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:44445"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] new events: epoll_fd=14, res=1
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] modify: epoll_fd=14, fd=15, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] socket event socket=51 readable=true writable=false 
[INFO] [stdout] Sep 25 14:51:59.991 TRCE[polling::epoll] add: epoll_fd=36, fd=42, ev=Event { key: 42, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] agent took 1.45279ms to start up 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling] Poller::wait(_, Some(195.2198ms))
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] wait: epoll_fd=36, timeout=Some(195.2198ms)
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] modify: epoll_fd=36, fd=38, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:34993/__httpmock__/ping
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] new events: epoll_fd=36, res=1
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] modify: epoll_fd=36, fd=37, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] socket event socket=42 readable=true writable=false 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling] Poller::notify()
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] notify: epoll_fd=48, event_fd=49
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << date: Thu, 25 Sep 2025 14:51:59 GMT\r\n 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] wait: epoll_fd=48, timeout=Some(0ns)
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] modify: epoll_fd=48, fd=50, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] new events: epoll_fd=48, res=1
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[polling::epoll] modify: epoll_fd=48, fd=49, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] remove: epoll_fd=14, fd=51
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>]   Trying 127.0.0.1:34993... 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -- handler
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 61 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 34993 (#0) 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:34993\r\nAccept: */*\r\nAccept-Encoding: deflate, gzip\r\nuser-agent: curl/7.79.1-DEV isahc/1.5.1\r\nContent-Length: 0\r\n\r\n 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] add: epoll_fd=48, fd=61, ev=Event { key: 61, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling] Poller::wait(_, Some(198.96963ms))
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] wait: epoll_fd=48, timeout=Some(198.96963ms)
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] modify: epoll_fd=48, fd=50, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:34993"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] new events: epoll_fd=48, res=1
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[polling::epoll] modify: epoll_fd=48, fd=49, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] socket event socket=61 readable=true writable=false 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.995 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] << date: Thu, 25 Sep 2025 14:51:59 GMT\r\n 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] << date: Thu, 25 Sep 2025 14:51:59 GMT\r\n 
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:51:59.997 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Sep 25 14:51:59.997 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[polling::epoll] remove: epoll_fd=48, fd=61
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[polling::epoll] remove: epoll_fd=36, fd=42
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- handler
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- send_async
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Sep 25 14:51:59.997 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[reqwest::blocking::wait] (ThreadId(6)) park without timeout
[INFO] [stdout] Sep 25 14:51:59.996 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[<unknown>] -- send_async
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Sep 25 14:51:59.997 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Sep 25 14:51:59.998 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Sep 25 14:51:59.998 TRCE[reqwest::blocking::wait] (ThreadId(5)) park without timeout
[INFO] [stdout] Sep 25 14:52:00.000 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:52:00.000 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:52:00.001 TRCE[<unknown>] -- send_async
[INFO] [stdout] Sep 25 14:52:00.001 TRCE[<unknown>] -- handler
[INFO] [stdout] Sep 25 14:52:00.001 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Sep 25 14:52:00.001 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Sep 25 14:52:00.001 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Sep 25 14:52:00.001 TRCE[reqwest::blocking::wait] (ThreadId(3)) park without timeout
[INFO] [stdout] Sep 25 14:52:00.008 TRCE[reqwest::blocking::client] (ThreadId(24)) start runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.008 TRCE[polling::epoll] add: epoll_fd=72, fd=74, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Sep 25 14:52:00.008 TRCE[polling::epoll] add: epoll_fd=72, fd=73, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.008 TRCE[polling::epoll] new: epoll_fd=72, event_fd=73, timer_fd=Some(74)
[INFO] [stdout] Sep 25 14:52:00.008 DEBG[<unknown>] agent_thread; id=4
[INFO] [stdout] Sep 25 14:52:00.008 INFO[httpmock::server] Listening on 127.0.0.1:41983
[INFO] [stdout] Sep 25 14:52:00.008 TRCE[reqwest::blocking::client] (ThreadId(27)) start runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.009 TRCE[reqwest::blocking::client] (ThreadId(25)) start runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:41983/__httpmock__/ping
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>] handler
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling] Poller::notify()
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling::epoll] notify: epoll_fd=72, event_fd=73
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>] agent took 14.330449ms to start up 
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling::epoll] wait: epoll_fd=72, timeout=Some(0ns)
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling::epoll] modify: epoll_fd=72, fd=74, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling::epoll] new events: epoll_fd=72, res=1
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[polling::epoll] modify: epoll_fd=72, fd=73, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>]   Trying 127.0.0.1:41983... 
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.022 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 88 
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.022 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.023 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 41983 (#0) 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:41983\r\nAccept: */*\r\nAccept-Encoding: deflate, gzip\r\nuser-agent: curl/7.79.1-DEV isahc/1.5.1\r\nContent-Length: 0\r\n\r\n 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[polling::epoll] add: epoll_fd=72, fd=88, ev=Event { key: 88, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[polling] Poller::wait(_, Some(198.9678ms))
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[polling::epoll] wait: epoll_fd=72, timeout=Some(198.9678ms)
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[polling::epoll] modify: epoll_fd=72, fd=74, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.023 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Sep 25 14:52:00.023 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:41983"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.023 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Sep 25 14:52:00.023 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.026 TRCE[polling::epoll] new events: epoll_fd=72, res=1
[INFO] [stdout] Sep 25 14:52:00.026 TRCE[polling::epoll] modify: epoll_fd=72, fd=73, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Sep 25 14:52:00.026 TRCE[<unknown>] socket event socket=88 readable=true writable=false 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] << date: Thu, 25 Sep 2025 14:52:00 GMT\r\n 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -- header
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -> handler
[INFO] [stdout] Sep 25 14:52:00.027 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] <- handler
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[polling::epoll] remove: epoll_fd=72, fd=88
[INFO] [stdout] Sep 25 14:52:00.027 TRCE[<unknown>] -- handler
[INFO] [stdout] Sep 25 14:52:00.030 TRCE[<unknown>] -> send_async
[INFO] [stdout] Sep 25 14:52:00.030 TRCE[<unknown>] <- send_async
[INFO] [stdout] Sep 25 14:52:00.031 TRCE[<unknown>] -- send_async
[INFO] [stdout] Sep 25 14:52:00.031 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Sep 25 14:52:00.031 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Sep 25 14:52:00.031 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Sep 25 14:52:00.031 DEBG[httpmock::server::web::handlers] Adding new mock with ID=1
[INFO] [stdout] Sep 25 14:52:00.031 DEBG[httpmock::server::web::handlers] Adding new mock with ID=2
[INFO] [stdout] Sep 25 14:52:00.031 DEBG[httpmock::server::web::handlers] Adding new mock with ID=3
[INFO] [stdout] Sep 25 14:52:00.031 TRCE[reqwest::blocking::wait] (ThreadId(4)) park without timeout
[INFO] [stdout] Sep 25 14:52:00.033 TRCE[reqwest::blocking::client] (ThreadId(29)) start runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] workers: [1;49;39m8[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] limits: [1;49;39mbytes = 8KiB, data-form = 2MiB, file = 1MiB, form = 32KiB, json = 1MiB, msgpack = 1MiB, string = 8KiB[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Sep 25 14:52:00.050 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Sep 25 14:52:00.053 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [34m/openapi.json[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/index.html[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui.css[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/oauth2-redirect.html[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-bundle.js[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-config.json[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-standalone-preset.js[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Sep 25 14:52:00.054 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Sep 25 14:52:00.054 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Sep 25 14:52:00.054 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Sep 25 14:52:00.054 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Sep 25 14:52:00.054 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched from[0m [1;4;49;39mhttp://127.0.0.1:8000[0m
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[reqwest::blocking::wait] (ThreadId(2)) park timeout 29.9999951s
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.065 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Sep 25 14:52:00.065 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.065 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.065 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.066 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.066 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.066 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.066 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.071 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Sep 25 14:52:00.071 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.071 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.071 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A36803%2Fstart, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.072 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A36803%2Fstart[0m:
[INFO] [stdout] Sep 25 14:52:00.072 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.072 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.072 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:36803/, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.072 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(36803)) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.072 DEBG[<unknown>] connecting to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.086 DEBG[<unknown>] connected to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] client handshake Http1 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.086 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.094 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.095 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.095 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.095 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.097 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.109 DEBG[httpmock::server::web::handlers] Could not match any mock to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/robots.txt",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.109 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.109 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Sep 25 14:52:00.109 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.109 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.110 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.110 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:36803/robots.txt, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] take? ("http", 127.0.0.1:36803): expiration = Some(90s) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.110 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.110 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.110 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.110 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] idle interval checking for expired 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.111 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.111 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.111 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[httpmock::server::web::handlers] Matched mock with id=0 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/start",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] Server::encode status=200, body=Some(Known(436)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] buffer.queue self.len=102 buf.len=436 
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[<unknown>] flushed 538 bytes 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] received 538 bytes 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] Response.parse bytes=538 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[<unknown>] incoming body is content-length (436 bytes) 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] decode; state=Length(436) 
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.113 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.113 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:36803/start, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.113 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:36803/start containing 436 chars, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.114 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.121 TRCE[<unknown>] take? ("http", 127.0.0.1:36803): expiration = Some(90s) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:36803/, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(36803)) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 DEBG[<unknown>] connecting to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.121 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:36803/, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.131 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.131 TRCE[reqwest::blocking::wait] (ThreadId(4)) park timeout 29.99999529s
[INFO] [stdout] Sep 25 14:52:00.131 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.131 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Sep 25 14:52:00.122 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(36803)) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.132 DEBG[<unknown>] connecting to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.132 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.132 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.132 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.132 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:36803/, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.132 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(36803)) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[<unknown>] connecting to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[<unknown>] connected to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] client handshake Http1 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[<unknown>] flushed 87 bytes 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:36803/, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(36803)) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[<unknown>] connecting to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] received 87 bytes 
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.133 DEBG[<unknown>] connected to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.133 TRCE[<unknown>] client handshake Http1 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.134 DEBG[<unknown>] connected to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] client handshake Http1 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] Request.parse bytes=87 
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] Request.parse Complete(87) 
[INFO] [stdout] Sep 25 14:52:00.134 DEBG[<unknown>] connected to 127.0.0.1:36803 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] client handshake Http1 , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.134 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.134 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.135 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/another", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.135 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.136 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.137 DEBG[httpmock::server::web::handlers] Matched mock with id=1 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/another",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] Server::encode status=200, body=Some(Known(135)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] buffer.queue self.len=117 buf.len=135 
[INFO] [stdout] Sep 25 14:52:00.137 DEBG[<unknown>] flushed 252 bytes 
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.138 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.140 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.140 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 DEBG[<unknown>] flushed 88 bytes 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.138 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.137 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] received 88 bytes 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] Request.parse bytes=88 
[INFO] [stdout] Sep 25 14:52:00.141 TRCE[<unknown>] Request.parse Complete(88) 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.141 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.134 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/redirect", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[httpmock::server::web::handlers] Matched mock with id=4 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/redirect",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] Server::encode status=301, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 DEBG[<unknown>] flushed 130 bytes 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.142 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.138 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.143 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.143 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.143 DEBG[<unknown>] flushed 83 bytes 
[INFO] [stdout] Sep 25 14:52:00.143 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] flushed 88 bytes 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/third", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[httpmock::server::web::handlers] Matched mock with id=2 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/third",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Server::encode status=200, body=Some(Known(116)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] buffer.queue self.len=117 buf.len=116 
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] flushed 233 bytes 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] received 83 bytes 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Request.parse bytes=83 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] Request.parse Complete(83) 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.144 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.144 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/pdf", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.138 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] received 252 bytes 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] Response.parse bytes=252 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] Response.parse Complete(117) 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] incoming body is content-length (135 bytes) 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] decode; state=Length(135) 
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] received 233 bytes 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] Response.parse bytes=233 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] Response.parse Complete(117) 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] incoming body is content-length (116 bytes) 
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:36803/another, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] decode; state=Length(116) 
[INFO] [stdout] Sep 25 14:52:00.145 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.145 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:36803/another containing 135 chars, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.145 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] received 130 bytes 
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] Response.parse bytes=130 
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] Response.parse Complete(130) 
[INFO] [stdout] Sep 25 14:52:00.146 DEBG[httpmock::server::web::handlers] Matched mock with id=3 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/pdf",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] Server::encode status=200, body=Some(Known(4)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.146 TRCE[<unknown>] buffer.queue self.len=114 buf.len=4 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] flushed 118 bytes 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] received 88 bytes 
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Request.parse bytes=88 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Request.parse Complete(88) 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] received 118 bytes 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/relative", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:36803")] }
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Response.parse bytes=118 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] Response.parse Complete(114) 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] incoming body is content-length (4 bytes) 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] decode; state=Length(4) 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.147 DEBG[httpmock::server::web::handlers] Matched mock with id=5 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/relative",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:36803",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.147 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] Server::encode status=200, body=Some(Known(113)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] buffer.queue self.len=117 buf.len=113 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Sep 25 14:52:00.148 DEBG[<unknown>] flushed 230 bytes 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.148 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Sep 25 14:52:00.148 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.148 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.148 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A41983%2Fstart, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.148 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A41983%2Fstart[0m:
[INFO] [stdout] Sep 25 14:52:00.148 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] received 230 bytes 
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:36803/third, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:36803/third containing 116 chars, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 DEBG[reqwest::async_impl::client] redirect policy disallowed redirection to 'http://127.0.0.1:36803/start', REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 DEBG[reqwest::async_impl::client] response '301 Moved Permanently' for http://127.0.0.1:36803/redirect, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.150 INFO[mikes_crawler::crawler] Got redirect from http://127.0.0.1:36803/redirect to http://127.0.0.1:36803/start, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.151 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.151 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.151 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:36803/pdf, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.151 INFO[mikes_crawler::crawler] Got non html response containing: x-application/something, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.151 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.151 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.151 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.149 TRCE[<unknown>] Response.parse bytes=230 
[INFO] [stdout] Sep 25 14:52:00.152 TRCE[<unknown>] Response.parse Complete(117) 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.153 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.153 DEBG[<unknown>] incoming body is content-length (113 bytes) 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] decode; state=Length(113) 
[INFO] [stdout] Sep 25 14:52:00.153 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.153 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:36803) , REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.153 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:36803/relative, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.153 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:36803/relative containing 113 chars, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.153 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.156 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.156 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:41983/, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.156 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(41983)) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.156 DEBG[<unknown>] connecting to 127.0.0.1:41983 , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.158 DEBG[<unknown>] connected to 127.0.0.1:41983 , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.158 TRCE[<unknown>] client handshake Http1 , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.158 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.158 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.158 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.158 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.159 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:52:00.159 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A36803%2Fstart with status 200 OK in 0.087s, REQ: GHXW
[INFO] [stdout] Sep 25 14:52:00.159 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] sized write, len = 817 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] buffer.queue self.len=243 buf.len=817 
[INFO] [stdout] Sep 25 14:52:00.159 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.160 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.160 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:41983")] }
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.160 DEBG[httpmock::server::web::handlers] Matched mock with id=1 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/robots.txt",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:41983",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.160 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Server::encode status=200, body=Some(Known(36)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] buffer.queue self.len=102 buf.len=36 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] flushed 138 bytes 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] received 138 bytes 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Response.parse bytes=138 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] received 1060 bytes 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Response.parse bytes=1060 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] incoming body is content-length (36 bytes) 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] decode; state=Length(36) 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] incoming body is content-length (817 bytes) 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] decode; state=Length(817) 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:41983/robots.txt, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A36803%2Fstart
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] idle interval checking for expired 
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] take? ("http", 127.0.0.1:41983): expiration = Some(90s) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.161 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.161 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.162 DEBG[<unknown>] flushed 1060 bytes 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.163 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(23))
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(23))
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.163 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.163 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:41983")] }
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.163 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.164 DEBG[httpmock::server::web::handlers] Matched mock with id=0 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/start",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:41983",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] Server::encode status=200, body=Some(Known(205)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] buffer.queue self.len=102 buf.len=205 
[INFO] [stdout] Sep 25 14:52:00.164 DEBG[<unknown>] flushed 307 bytes 
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.164 TRCE[reqwest::blocking::client] (ThreadId(23)) Receiver is shutdown
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[reqwest::blocking::client] (ThreadId(23)) end runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[reqwest::blocking::client] (ThreadId(23)) finished
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] parse eof 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.165 DEBG[<unknown>] read eof 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Sep 25 14:52:00.165 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] received 307 bytes 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] Response.parse bytes=307 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.166 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.166 DEBG[<unknown>] incoming body is content-length (205 bytes) 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] decode; state=Length(205) 
[INFO] [stdout] Sep 25 14:52:00.166 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.166 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:41983) , REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.166 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:41983/start, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.166 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:41983/start containing 205 chars, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.166 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(23))
[INFO] [stdout] test collected_things ... ok
[INFO] [stdout] Sep 25 14:52:00.167 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:52:00.167 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A41983%2Fstart with status 200 OK in 0.019s, REQ: 5NuD
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.167 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] sized write, len = 221 
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] buffer.queue self.len=243 buf.len=221 
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.167 TRCE[<unknown>] received 464 bytes 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] Response.parse bytes=464 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[<unknown>] incoming body is content-length (221 bytes) 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] decode; state=Length(221) 
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A41983%2Fstart
[INFO] [stdout] Sep 25 14:52:00.168 DEBG[<unknown>] flushed 464 bytes 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(29))
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(29))
[INFO] [stdout] Sep 25 14:52:00.168 TRCE[reqwest::blocking::client] (ThreadId(29)) Receiver is shutdown
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[reqwest::blocking::client] (ThreadId(29)) end runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] parse eof 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.169 DEBG[<unknown>] read eof 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Sep 25 14:52:00.169 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Sep 25 14:52:00.170 TRCE[reqwest::blocking::client] (ThreadId(29)) finished
[INFO] [stdout] Sep 25 14:52:00.172 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(29))
[INFO] [stdout] test ignores_things_excluded_by_robots ... ok
[INFO] [stdout] Sep 25 14:52:00.231 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.231 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.231 TRCE[reqwest::blocking::wait] (ThreadId(6)) park timeout 29.99999576s
[INFO] [stdout] Sep 25 14:52:00.234 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Sep 25 14:52:00.234 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.234 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.234 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Sep 25 14:52:00.234 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Sep 25 14:52:00.235 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.235 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.235 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Sep 25 14:52:00.235 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.235 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.235 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A44445%2Fstart, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.235 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A44445%2Fstart[0m:
[INFO] [stdout] Sep 25 14:52:00.235 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.235 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.235 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:44445/, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.235 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(44445)) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.235 DEBG[<unknown>] connecting to 127.0.0.1:44445 , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.235 DEBG[<unknown>] connected to 127.0.0.1:44445 , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] client handshake Http1 , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.236 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.236 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:44445")] }
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.236 DEBG[httpmock::server::web::handlers] Could not match any mock to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/robots.txt",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:44445",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Sep 25 14:52:00.236 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.236 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:44445/robots.txt, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] take? ("http", 127.0.0.1:44445): expiration = Some(90s) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.237 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:44445")] }
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[httpmock::server::web::handlers] Matched mock with id=0 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/start",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:44445",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] Server::encode status=200, body=Some(Known(137)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] buffer.queue self.len=102 buf.len=137 
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] received 239 bytes 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] Response.parse bytes=239 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[<unknown>] incoming body is content-length (137 bytes) 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] decode; state=Length(137) 
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:44445) , REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.238 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:44445/start, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.238 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:44445/start containing 137 chars, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.238 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.239 DEBG[<unknown>] flushed 239 bytes 
[INFO] [stdout] Sep 25 14:52:00.239 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.240 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:52:00.241 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A44445%2Fstart with status 200 OK in 0.005s, REQ: xkul
[INFO] [stdout] Sep 25 14:52:00.241 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] sized write, len = 128 
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] buffer.queue self.len=243 buf.len=128 
[INFO] [stdout] Sep 25 14:52:00.241 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Sep 25 14:52:00.245 DEBG[<unknown>] flushed 371 bytes 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.244 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] received 371 bytes 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] Response.parse bytes=371 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.245 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Sep 25 14:52:00.245 DEBG[<unknown>] incoming body is content-length (128 bytes) 
[INFO] [stdout] Sep 25 14:52:00.245 TRCE[<unknown>] decode; state=Length(128) 
[INFO] [stdout] Sep 25 14:52:00.245 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.246 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.246 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A44445%2Fstart
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.246 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(24))
[INFO] [stdout] Sep 25 14:52:00.247 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(24))
[INFO] [stdout] Sep 25 14:52:00.247 TRCE[reqwest::blocking::client] (ThreadId(24)) Receiver is shutdown
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[reqwest::blocking::client] (ThreadId(24)) end runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] parse eof 
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.248 DEBG[<unknown>] read eof 
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.248 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.249 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.249 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Sep 25 14:52:00.249 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Sep 25 14:52:00.249 TRCE[reqwest::blocking::client] (ThreadId(24)) finished
[INFO] [stdout] Sep 25 14:52:00.249 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(24))
[INFO] [stdout] test simple ... ok
[INFO] [stdout] Sep 25 14:52:00.283 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.283 TRCE[reqwest::blocking::wait] (ThreadId(5)) park timeout 29.99999501s
[INFO] [stdout] Sep 25 14:52:00.283 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.283 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Sep 25 14:52:00.283 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Sep 25 14:52:00.284 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.284 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.284 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.284 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.284 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Sep 25 14:52:00.284 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.285 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.289 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.289 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.289 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.290 TRCE[reqwest::blocking::wait] (ThreadId(3)) park timeout 29.9999944s
[INFO] [stdout] Sep 25 14:52:00.291 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.292 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Sep 25 14:52:00.292 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Sep 25 14:52:00.292 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.289 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.292 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.292 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.292 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.293 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Sep 25 14:52:00.293 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.293 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.293 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A45879%2Fstart, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.293 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A45879%2Fstart[0m:
[INFO] [stdout] Sep 25 14:52:00.293 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.294 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:45879/, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(45879)) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.294 DEBG[<unknown>] connecting to 127.0.0.1:45879 , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.293 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.295 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.296 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Sep 25 14:52:00.296 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.296 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A34993%2Fstart, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.296 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A34993%2Fstart[0m:
[INFO] [stdout] Sep 25 14:52:00.296 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.296 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:34993/, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.296 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(34993)) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.294 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.297 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.298 DEBG[<unknown>] connected to 127.0.0.1:45879 , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] client handshake Http1 , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.298 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.298 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:45879")] }
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.298 DEBG[httpmock::server::web::handlers] Could not match any mock to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/robots.txt",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:45879",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.298 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:45879/robots.txt, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] take? ("http", 127.0.0.1:45879): expiration = Some(90s) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.299 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:45879")] }
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[httpmock::server::web::handlers] Matched mock with id=0 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/start",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:45879",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] Server::encode status=301, body=None, req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[<unknown>] flushed 107 bytes 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] received 107 bytes 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] Response.parse bytes=107 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] Response.parse Complete(107) 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.300 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[reqwest::async_impl::client] redirect policy disallowed redirection to 'http://127.0.0.1:45879/next', REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.300 DEBG[reqwest::async_impl::client] response '301 Moved Permanently' for http://127.0.0.1:45879/start, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.300 INFO[mikes_crawler::crawler] Got redirect from http://127.0.0.1:45879/start to http://127.0.0.1:45879/next, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] take? ("http", 127.0.0.1:45879): expiration = Some(90s) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] received 84 bytes 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] Request.parse bytes=84 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] Request.parse Complete(84) 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/next", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:45879")] }
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[httpmock::server::web::handlers] Could not match any mock to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/next",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:45879",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.295 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.301 DEBG[<unknown>] flushed 84 bytes 
[INFO] [stdout] Sep 25 14:52:00.301 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Sep 25 14:52:00.302 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Sep 25 14:52:00.304 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.305 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.306 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.307 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Sep 25 14:52:00.308 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Sep 25 14:52:00.308 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.296 DEBG[<unknown>] connecting to 127.0.0.1:34993 , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.308 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.310 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.310 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.310 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.311 DEBG[<unknown>] connected to 127.0.0.1:34993 , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.311 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:45879) , REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.311 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:45879/next, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] client handshake Http1 , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.311 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.311 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.311 INFO[mikes_crawler::crawler] Got response with status 404 Not Found: Not processing the body, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.312 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:52:00.312 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A45879%2Fstart with status 200 OK in 0.018s, REQ: 8dLK
[INFO] [stdout] Sep 25 14:52:00.312 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] sized write, len = 241 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] buffer.queue self.len=243 buf.len=241 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Sep 25 14:52:00.312 DEBG[<unknown>] flushed 484 bytes 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] received 484 bytes 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] Response.parse bytes=484 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.312 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Sep 25 14:52:00.312 DEBG[<unknown>] incoming body is content-length (241 bytes) 
[INFO] [stdout] Sep 25 14:52:00.312 TRCE[<unknown>] decode; state=Length(241) 
[INFO] [stdout] Sep 25 14:52:00.312 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.313 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.313 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A45879%2Fstart
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(25))
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(25))
[INFO] [stdout] Sep 25 14:52:00.313 TRCE[reqwest::blocking::client] (ThreadId(25)) Receiver is shutdown
[INFO] [stdout] Sep 25 14:52:00.314 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.314 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Sep 25 14:52:00.314 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.315 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.316 TRCE[reqwest::blocking::client] (ThreadId(25)) end runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.316 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] parse eof 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.317 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.317 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.318 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:34993")] }
[INFO] [stdout] Sep 25 14:52:00.317 DEBG[<unknown>] read eof 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.318 DEBG[httpmock::server::web::handlers] Could not match any mock to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/robots.txt",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:34993",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Sep 25 14:52:00.318 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:34993/robots.txt, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.319 TRCE[<unknown>] take? ("http", 127.0.0.1:34993): expiration = Some(90s) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.319 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.320 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.320 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:34993")] }
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Sep 25 14:52:00.320 DEBG[httpmock::server::web::handlers] Matched mock with id=0 to the following request: HttpMockRequest {
[INFO] [stdout]     path: "/start",
[INFO] [stdout]     method: "GET",
[INFO] [stdout]     headers: Some(
[INFO] [stdout]         [
[INFO] [stdout]             (
[INFO] [stdout]                 "accept",
[INFO] [stdout]                 "*/*",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "user-agent",
[INFO] [stdout]                 "MikesCrawler",
[INFO] [stdout]             ),
[INFO] [stdout]             (
[INFO] [stdout]                 "host",
[INFO] [stdout]                 "127.0.0.1:34993",
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     query_params: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout]     body: Some(
[INFO] [stdout]         [],
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] Server::encode status=200, body=Some(Known(4)), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] buffer.queue self.len=114 buf.len=4 
[INFO] [stdout] Sep 25 14:52:00.320 DEBG[<unknown>] flushed 118 bytes 
[INFO] [stdout] Sep 25 14:52:00.320 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] received 118 bytes 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] Response.parse bytes=118 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] Response.parse Complete(114) 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.321 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Sep 25 14:52:00.321 DEBG[<unknown>] incoming body is content-length (4 bytes) 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] decode; state=Length(4) 
[INFO] [stdout] Sep 25 14:52:00.321 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.321 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:34993) , REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.321 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:34993/start, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.321 INFO[mikes_crawler::crawler] Got non html response containing: x-application/something, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.321 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Sep 25 14:52:00.321 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A34993%2Fstart with status 200 OK in 0.025s, REQ: pNd2
[INFO] [stdout] Sep 25 14:52:00.321 TRCE[reqwest::blocking::client] (ThreadId(25)) finished
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.322 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] encode_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] sized write, len = 85 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] buffer.queue self.len=242 buf.len=85 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] received 327 bytes 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] parse_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] Response.parse bytes=327 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] Response.parse Complete(242) 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[<unknown>] incoming body is content-length (85 bytes) 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] decode; state=Length(85) 
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A34993%2Fstart
[INFO] [stdout] Sep 25 14:52:00.322 DEBG[<unknown>] flushed 327 bytes 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Sep 25 14:52:00.322 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(27))
[INFO] [stdout] Sep 25 14:52:00.323 TRCE[reqwest::blocking::client] (ThreadId(27)) Receiver is shutdown
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(27))
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[reqwest::blocking::client] (ThreadId(27)) end runtime::block_on
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(25))
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] parse eof 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.324 DEBG[<unknown>] read eof 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[reqwest::blocking::client] (ThreadId(27)) finished
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Sep 25 14:52:00.324 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(27))
[INFO] [stdout] test relative_redirects ... ok
[INFO] [stdout] test ignore_non_html ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mikes_crawler
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "794345f89b033d1ddb16857ebf50bebce7ea4c726a8555c62cf32bab70df1bd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "794345f89b033d1ddb16857ebf50bebce7ea4c726a8555c62cf32bab70df1bd9", kill_on_drop: false }`
[INFO] [stdout] 794345f89b033d1ddb16857ebf50bebce7ea4c726a8555c62cf32bab70df1bd9
