[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 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbirtwell%2Fmikes_crawler" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/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-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mbirtwell/mikes_crawler on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tinyvec v1.5.0
[INFO] [stderr]   Downloaded tokio-macros v1.5.1
[INFO] [stderr]   Downloaded slog-scope-futures v0.1.1
[INFO] [stderr]   Downloaded slog-stdlog v4.1.0
[INFO] [stderr]   Downloaded rocket_okapi_codegen v0.8.0-rc.1
[INFO] [stderr]   Downloaded slog-term v2.8.0
[INFO] [stderr]   Downloaded schemars_derive v0.8.6
[INFO] [stderr]   Downloaded serde_derive_internals v0.25.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.32
[INFO] [stderr]   Downloaded arc-swap v1.4.0
[INFO] [stderr]   Downloaded schemars v0.8.6
[INFO] [stderr]   Downloaded httpdate v1.0.1
[INFO] [stderr]   Downloaded loom v0.5.2
[INFO] [stderr]   Downloaded inlinable_string v0.1.14
[INFO] [stderr]   Downloaded cc v1.0.71
[INFO] [stderr]   Downloaded syn v1.0.81
[INFO] [stderr]   Downloaded serde_json v1.0.69
[INFO] [stderr]   Downloaded hyper v0.14.14
[INFO] [stderr]   Downloaded h2 v0.3.7
[INFO] [stderr]   Downloaded multer v2.0.1
[INFO] [stderr]   Downloaded atomic v0.5.0
[INFO] [stderr]   Downloaded okapi v0.7.0-rc.1
[INFO] [stderr]   Downloaded robotstxt v0.3.0
[INFO] [stderr]   Downloaded reqwest v0.11.6
[INFO] [stderr]   Downloaded tokio v1.13.0
[INFO] [stderr]   Downloaded libc v0.2.106
[INFO] [stderr]   Downloaded rocket_okapi v0.8.0-rc.1
[INFO] [stderr]   Downloaded openssl-sys v0.9.70
[INFO] [stderr]   Downloaded pkg-config v0.3.22
[INFO] [stderr]   Downloaded indoc v1.0.3
[INFO] [stderr]   Downloaded encoding_rs v0.8.29
[INFO] [stderr]   Downloaded unindent v0.1.7
[INFO] [stderr]   Downloaded httpmock v0.6.2
[INFO] [stderr]   Downloaded isahc v1.5.1
[INFO] [stderr]   Downloaded fastrand v1.5.0
[INFO] [stderr]   Downloaded lalrpop-util v0.19.6
[INFO] [stderr]   Downloaded string_cache v0.8.2
[INFO] [stderr]   Downloaded polling v2.1.0
[INFO] [stderr]   Downloaded curl v0.4.40
[INFO] [stderr]   Downloaded castaway v0.1.1
[INFO] [stderr]   Downloaded siphasher v0.3.7
[INFO] [stderr]   Downloaded pico-args v0.4.2
[INFO] [stderr]   Downloaded basic-cookies v0.1.4
[INFO] [stderr]   Downloaded lalrpop v0.19.6
[INFO] [stderr]   Downloaded diff v0.1.12
[INFO] [stderr]   Downloaded itertools v0.10.1
[INFO] [stderr]   Downloaded ena v0.14.0
[INFO] [stderr]   Downloaded async-object-pool v0.1.4
[INFO] [stderr]   Downloaded async-process v1.2.0
[INFO] [stderr]   Downloaded assert-json-diff v2.0.1
[INFO] [stderr]   Downloaded string_cache_codegen v0.5.1
[INFO] [stderr]   Downloaded futf v0.1.4
[INFO] [stderr]   Downloaded tendril v0.4.2
[INFO] [stderr]   Downloaded html5ever v0.25.1
[INFO] [stderr]   Downloaded markup5ever v0.10.1
[INFO] [stderr]   Downloaded anyhow v1.0.45
[INFO] [stderr]   Downloaded libnghttp2-sys v0.1.7+1.45.0
[INFO] [stderr]   Downloaded curl-sys v0.4.50+curl-7.79.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591
[INFO] running `Command { std: "docker" "start" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling syn v1.0.81
[INFO] [stderr]    Compiling libc v0.2.106
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling futures-sink v0.3.17
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling slab v0.4.5
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling yansi v0.5.0
[INFO] [stderr]    Compiling http v0.2.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling tracing-core v0.1.21
[INFO] [stderr]    Compiling tokio v1.13.0
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.9.1
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling futures-io v0.3.17
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling httpdate v1.0.1
[INFO] [stderr]    Compiling tracing v0.1.29
[INFO] [stderr]    Compiling siphasher v0.3.7
[INFO] [stderr]    Compiling const_fn v0.4.8
[INFO] [stderr]    Compiling pkg-config v0.3.22
[INFO] [stderr]    Compiling cc v1.0.71
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling socket2 v0.4.2
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling parking_lot v0.11.2
[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 getrandom v0.2.3
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]    Compiling serde_json v1.0.69
[INFO] [stderr]    Compiling state v0.5.2
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[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 openssl-sys v0.9.70
[INFO] [stderr]    Compiling figment v0.10.6
[INFO] [stderr]    Compiling multer v2.0.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling atomic v0.5.0
[INFO] [stderr]    Compiling openssl-probe v0.1.4
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.51
[INFO] [stderr]    Compiling schemars v0.8.6
[INFO] [stderr]    Compiling unchecked-index v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling twoway v0.2.2
[INFO] [stderr]    Compiling futf v0.1.4
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[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 unicode-bidi v0.3.7
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling spin v0.9.2
[INFO] [stderr]    Compiling dyn-clone v1.0.4
[INFO] [stderr]    Compiling arc-swap v1.4.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling tendril v0.4.2
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling anyhow v1.0.45
[INFO] [stderr]    Compiling slog-scope v4.4.0
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling ipnet v2.3.1
[INFO] [stderr]    Compiling slog-scope-futures v0.1.1
[INFO] [stderr]    Compiling slog-stdlog v4.1.0
[INFO] [stderr]    Compiling robotstxt v0.3.0
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling slog-term v2.8.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling h2 v0.3.7
[INFO] [stderr]    Compiling darling_core v0.13.0
[INFO] [stderr]    Compiling serde_derive_internals v0.25.0
[INFO] [stderr]    Compiling devise_core v0.3.1
[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 async-stream-impl v0.3.2
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling schemars_derive v0.8.6
[INFO] [stderr]    Compiling async-stream v0.3.2
[INFO] [stderr]    Compiling pear v0.2.3
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling devise_codegen v0.3.1
[INFO] [stderr]    Compiling darling_macro v0.13.0
[INFO] [stderr]    Compiling darling v0.13.0
[INFO] [stderr]    Compiling devise v0.3.1
[INFO] [stderr]    Compiling hyper v0.14.14
[INFO] [stderr]    Compiling futures-executor v0.3.17
[INFO] [stderr]    Compiling futures v0.3.17
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling rocket_http v0.5.0-rc.1
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling ubyte v0.10.1
[INFO] [stderr]    Compiling string_cache v0.8.2
[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 1m 21s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.8
[INFO] [stderr]    Compiling futures-io v0.3.17
[INFO] [stderr]    Compiling socket2 v0.4.2
[INFO] [stderr]    Compiling ctor v0.1.21
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]    Compiling cache-padded v1.1.1
[INFO] [stderr]    Compiling event-listener v2.5.1
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]    Compiling fastrand v1.5.0
[INFO] [stderr]    Compiling parking v2.0.0
[INFO] [stderr]    Compiling tracing v0.1.29
[INFO] [stderr]    Compiling libz-sys v1.1.3
[INFO] [stderr]    Compiling libnghttp2-sys v0.1.7+1.45.0
[INFO] [stderr]    Compiling concurrent-queue v1.2.2
[INFO] [stderr]    Compiling crunchy v0.2.2
[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 bit-vec v0.6.3
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]    Compiling async-channel v1.6.1
[INFO] [stderr]    Compiling futures-lite v1.12.0
[INFO] [stderr]    Compiling h2 v0.3.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling async-task v4.0.3
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[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 pico-args v0.4.2
[INFO] [stderr]    Compiling atomic-waker v1.0.0
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling async-mutex v1.4.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling curl v0.4.40
[INFO] [stderr]    Compiling async-lock v2.4.0
[INFO] [stderr]    Compiling isahc v1.5.1
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling sluice v0.5.5
[INFO] [stderr]    Compiling lalrpop-util v0.19.6
[INFO] [stderr]    Compiling blocking v1.0.2
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling polling v2.1.0
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling async-executor v1.4.1
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling async-io v1.6.0
[INFO] [stderr]    Compiling okapi v0.7.0-rc.1
[INFO] [stderr]    Compiling slog-stdlog v4.1.0
[INFO] [stderr]    Compiling castaway v0.1.1
[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 unindent v0.1.7
[INFO] [stderr]    Compiling tokio v1.13.0
[INFO] [stderr]    Compiling async-process v1.2.0
[INFO] [stderr]    Compiling async-global-executor v2.0.2
[INFO] [stderr]    Compiling indoc v1.0.3
[INFO] [stderr]    Compiling urlencoding v2.1.0
[INFO] [stderr]    Compiling pin-project v1.0.8
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling async-std v1.10.0
[INFO] [stderr]    Compiling lalrpop v0.19.6
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling serde_regex v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.17
[INFO] [stderr]    Compiling futures v0.3.17
[INFO] [stderr]    Compiling hyper v0.14.14
[INFO] [stderr]    Compiling async-object-pool v0.1.4
[INFO] [stderr]    Compiling rocket_http v0.5.0-rc.1
[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 multer v2.0.1
[INFO] [stderr]    Compiling rocket_codegen v0.5.0-rc.1
[INFO] [stderr]    Compiling rocket_okapi_codegen v0.8.0-rc.1
[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 1m 13s
[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 3`
[INFO] running `Command { std: "docker" "inspect" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", 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
[INFO] [stderr] warning: `mikes_crawler` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.77s
[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 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mikes_crawler-46db201c08f78ca5)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] Jul 10 10:09:55.256 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Jul 10 10:09:55.256 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://notexample.com/target
[INFO] [stdout] Jul 10 10:09:55.338 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 133 chars
[INFO] [stdout] Jul 10 10:09:55.338 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/target
[INFO] [stdout] Jul 10 10:09:55.338 INFO[mikes_crawler::crawler] Got body to process from https://example.com/target containing 129 chars
[INFO] [stdout] Jul 10 10:09:55.339 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page containing 190 chars
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.340 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page containing 133 chars
[INFO] [stdout] Jul 10 10:09:55.340 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] Jul 10 10:09:55.340 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.340 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] Jul 10 10:09:55.340 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.340 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.340 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.340 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[mikes_crawler::better_logging] Received request: /crawl/garbage, REQ: lL4j
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::server] [32mGET[0m [34m/crawl/garbage[0m:
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.341 INFO[mikes_crawler::better_logging] Completed request /crawl/garbage with status 400 Bad Request in 0.000s, REQ: lL4j
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.341 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.341 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] Jul 10 10:09:55.342 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] test crawler::tests::dont_follow_external_redirects ... ok
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.342 INFO[mikes_crawler::better_logging] Received request: /status, REQ: O40y
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::server] [32mGET[0m [34m/status[0m:
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::server] Matched: [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.342 INFO[mikes_crawler::better_logging] Completed request /status with status 200 OK in 0.000s, REQ: O40y
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.342 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.343 INFO[mikes_crawler::crawler] Got body to process from https://example.com/back containing 131 chars
[INFO] [stdout] Jul 10 10:09:55.343 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com, REQ: 36VG
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.343 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com[0m:
[INFO] [stdout] Jul 10 10:09:55.343 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.342 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.343 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] Jul 10 10:09:55.343 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.343 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] Jul 10 10:09:55.343 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.343 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.344 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] Jul 10 10:09:55.343 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.344 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] Jul 10 10:09:55.344 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] test api::tests::status_returns_result_from_crawler ... ok
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] test crawler::tests::dont_visit_fragments_separately ... ok
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] test crawler::tests::dont_revisit_if_found_from_redirect ... ok
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.344 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 135 chars
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.343 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] test crawler::tests::ignores_link_to_page_excluded_by_robots_txt ... okJul 10 10:09:55.345 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] 
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F/count, REQ: fl03
[INFO] [stdout] Jul 10 10:09:55.344 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.344 INFO[mikes_crawler::crawler] Got response with status 500 Internal Server Error: Not processing the body
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F/count[0m:
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] Matched: [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.345 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F, REQ: iNy+
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F[0m:
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.345 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F/count with status 200 OK in 0.000s, REQ: fl03
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.345 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.345 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F with status 200 OK in 0.000s, REQ: iNy+
[INFO] [stdout] Jul 10 10:09:55.345 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.345 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com with status 500 Internal Server Error in 0.002s, REQ: 36VG
[INFO] [stdout] Jul 10 10:09:55.346 INFO[mikes_crawler::better_logging] Received request: /status, REQ: Q2WR
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::server] [32mGET[0m [34m/status[0m:
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::server] Matched: [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.346 INFO[mikes_crawler::better_logging] Completed request /status with status 500 Internal Server Error in 0.000s, REQ: Q2WR
[INFO] [stdout] Jul 10 10:09:55.346 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.346 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched into local orbit[0m
[INFO] [stdout] Jul 10 10:09:55.347 INFO[mikes_crawler::crawler] Error trying to make request or process response: Connection failed
[INFO] [stdout] Jul 10 10:09:55.347 INFO[mikes_crawler::better_logging] Received request: /crawl/https%3A%2F%2Fexample.com%2F/list, REQ: eWmm
[INFO] [stdout] Jul 10 10:09:55.347 INFO[rocket::server] [32mGET[0m [34m/crawl/https%3A%2F%2Fexample.com%2F/list[0m:
[INFO] [stdout] Jul 10 10:09:55.348 INFO[rocket::server] Matched: [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.348 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 130 chars
[INFO] [stdout] test api::tests::count_returns_the_number_of_visited_urls ... ok
[INFO] [stdout] test crawler::tests::reports_single_server_error ... ok
[INFO] [stdout] test api::tests::crawl_return_internal_error_from_crawler ... ok
[INFO] [stdout] test api::tests::crawl_returns_result_from_crawler ... ok
[INFO] [stdout] test crawler::tests::reports_single_network_error ... ok
[INFO] [stdout] Jul 10 10:09:55.348 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link1 containing 0 chars
[INFO] [stdout] Jul 10 10:09:55.348 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.349 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 0 chars
[INFO] [stdout] Jul 10 10:09:55.350 INFO[mikes_crawler::crawler] Got body to process from https://example.com/start containing 180 chars
[INFO] [stdout] Jul 10 10:09:55.349 INFO[mikes_crawler::better_logging] Completed request /crawl/https%3A%2F%2Fexample.com%2F/list with status 200 OK in 0.001s, REQ: eWmm
[INFO] [stdout] test link_extractor::tests::empty_lists_for_empty_html ... ok
[INFO] [stdout] test link_extractor::tests::extracts_links_in_other_domain_as_external_link ... ok
[INFO] [stdout] test link_extractor::tests::extracts_links_in_domain_as_internal_link ... ok
[INFO] [stdout] Jul 10 10:09:55.350 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] Jul 10 10:09:55.351 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 130 chars
[INFO] [stdout] test crawler::tests::stop_after_loop_of_pages ... ok
[INFO] [stdout] Jul 10 10:09:55.352 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page1 containing 0 chars
[INFO] [stdout] Jul 10 10:09:55.352 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page2 containing 0 chars
[INFO] [stdout] test crawler::tests::reports_single_page_with_external_links ... ok
[INFO] [stdout] test crawler::tests::get_some_status ... ok
[INFO] [stdout] test api::tests::list_returns_all_visited_urls ... ok
[INFO] [stdout] test crawler::tests::follows_multiple_internal_links ... ok
[INFO] [stdout] Jul 10 10:09:55.374 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/target
[INFO] [stdout] Jul 10 10:09:55.374 INFO[mikes_crawler::crawler] Got body to process from https://example.com/target containing 135 chars
[INFO] [stdout] Jul 10 10:09:55.375 INFO[mikes_crawler::crawler] Got non html response containing: x-application/pdf
[INFO] [stdout] Jul 10 10:09:55.375 INFO[mikes_crawler::crawler] Got redirect from https://example.com/redirect to https://example.com/start
[INFO] [stdout] test crawler::tests::ignores_non_html ... ok
[INFO] [stdout] test crawler::tests::dont_revisit_due_to_redirect ... ok
[INFO] [stdout] test api::tests::crawl_return_bad_request_for_non_url ... ok
[INFO] [stdout] test crawler::tests::reports_redirect_and_target ... ok
[INFO] [stdout] test link_extractor::tests::relative_links_are_internal_links ... ok
[INFO] [stdout] Jul 10 10:09:55.451 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link1 containing 180 chars
[INFO] [stdout] Jul 10 10:09:55.451 INFO[mikes_crawler::crawler] Got body to process from https://example.com/link2 containing 180 chars
[INFO] [stdout] test api::tests::status_return_internal_error_from_crawler ... ok
[INFO] [stdout] test crawler::tests::stop_after_parallel_loop_of_pages ... ok
[INFO] [stdout] Jul 10 10:09:55.646 INFO[mikes_crawler::crawler] Got body to process from https://example.com/page1 containing 0 chars
[INFO] [stdout] Jul 10 10:09:55.646 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.40s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mikes_crawler-f1ab42c68e6b7fc8)
[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-106c3169f143a981)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] Jul 10 10:09:55.699 INFO[httpmock::server] Listening on 127.0.0.1:45133
[INFO] [stdout] Jul 10 10:09:55.699 TRCE[polling::epoll] add: epoll_fd=15, fd=17, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Jul 10 10:09:55.699 TRCE[polling::epoll] add: epoll_fd=15, fd=16, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.699 TRCE[polling::epoll] new: epoll_fd=15, event_fd=16, timer_fd=Some(17)
[INFO] [stdout] Jul 10 10:09:55.700 DEBG[<unknown>] agent_thread; id=0
[INFO] [stdout] Jul 10 10:09:55.700 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Jul 10 10:09:55.700 DEBG[<unknown>] agent took 706.16µs to start up 
[INFO] [stdout] Jul 10 10:09:55.700 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:45133/__httpmock__/ping
[INFO] [stdout] Jul 10 10:09:55.700 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.700 DEBG[<unknown>] handler
[INFO] [stdout] Jul 10 10:09:55.700 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.701 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] wait: epoll_fd=15, timeout=Some(0ns)
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] modify: epoll_fd=15, fd=17, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling] Poller::notify()
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] notify: epoll_fd=15, event_fd=16
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] new events: epoll_fd=15, res=0
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] modify: epoll_fd=15, fd=16, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.701 DEBG[<unknown>]   Trying 127.0.0.1:45133... 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.701 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 20 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.701 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 45133 (#0) 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:45133\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] Jul 10 10:09:55.701 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] add: epoll_fd=15, fd=20, ev=Event { key: 20, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling] Poller::wait(_, Some(199.95967ms))
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] wait: epoll_fd=15, timeout=Some(199.95967ms)
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[polling::epoll] modify: epoll_fd=15, fd=17, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Jul 10 10:09:55.701 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.702 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Jul 10 10:09:55.702 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:45133"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.702 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.703 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[polling::epoll] new events: epoll_fd=15, res=1
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[polling::epoll] modify: epoll_fd=15, fd=16, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] socket event socket=20 readable=true writable=false 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] << date: Fri, 10 Jul 2026 10:09:55 GMT\r\n 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.703 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[polling::epoll] remove: epoll_fd=15, fd=20
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- handler
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[<unknown>] -- send_async
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Jul 10 10:09:55.703 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Jul 10 10:09:55.704 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Jul 10 10:09:55.704 DEBG[httpmock::server::web::handlers] Adding new mock with ID=1
[INFO] [stdout] Jul 10 10:09:55.704 DEBG[httpmock::server::web::handlers] Adding new mock with ID=2
[INFO] [stdout] Jul 10 10:09:55.704 DEBG[httpmock::server::web::handlers] Adding new mock with ID=3
[INFO] [stdout] Jul 10 10:09:55.704 TRCE[reqwest::blocking::wait] (ThreadId(4)) park without timeout
[INFO] [stdout] Jul 10 10:09:55.705 TRCE[reqwest::blocking::client] (ThreadId(26)) start runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.705 INFO[httpmock::server] Listening on 127.0.0.1:42759
[INFO] [stdout] Jul 10 10:09:55.705 TRCE[polling::epoll] add: epoll_fd=31, fd=33, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Jul 10 10:09:55.705 TRCE[polling::epoll] add: epoll_fd=31, fd=32, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.705 TRCE[polling::epoll] new: epoll_fd=31, event_fd=32, timer_fd=Some(33)
[INFO] [stdout] Jul 10 10:09:55.705 DEBG[<unknown>] agent_thread; id=1
[INFO] [stdout] Jul 10 10:09:55.705 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Jul 10 10:09:55.706 DEBG[<unknown>] agent took 498.82µs to start up 
[INFO] [stdout] Jul 10 10:09:55.706 INFO[httpmock::server] Listening on 127.0.0.1:38061
[INFO] [stdout] Jul 10 10:09:55.706 TRCE[polling::epoll] add: epoll_fd=42, fd=44, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Jul 10 10:09:55.706 TRCE[polling::epoll] add: epoll_fd=42, fd=43, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.706 TRCE[polling::epoll] new: epoll_fd=42, event_fd=43, timer_fd=Some(44)
[INFO] [stdout] Jul 10 10:09:55.706 DEBG[<unknown>] agent_thread; id=2
[INFO] [stdout] Jul 10 10:09:55.706 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:42759/__httpmock__/ping
[INFO] [stdout] Jul 10 10:09:55.706 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.707 DEBG[<unknown>] handler
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling] Poller::notify()
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling::epoll] notify: epoll_fd=31, event_fd=32
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.707 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling::epoll] wait: epoll_fd=31, timeout=Some(0ns)
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling::epoll] modify: epoll_fd=31, fd=33, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling::epoll] new events: epoll_fd=31, res=1
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[polling::epoll] modify: epoll_fd=31, fd=32, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.707 DEBG[<unknown>]   Trying 127.0.0.1:42759... 
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.707 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 45 
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.707 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 42759 (#0) 
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.707 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:42759\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] Jul 10 10:09:55.708 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling::epoll] add: epoll_fd=31, fd=45, ev=Event { key: 45, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling] Poller::wait(_, Some(199.9615ms))
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling::epoll] wait: epoll_fd=31, timeout=Some(199.9615ms)
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling::epoll] modify: epoll_fd=31, fd=33, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.708 DEBG[<unknown>] agent took 1.74723ms to start up 
[INFO] [stdout] Jul 10 10:09:55.708 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Jul 10 10:09:55.708 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:42759"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.708 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling::epoll] new events: epoll_fd=31, res=1
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[polling::epoll] modify: epoll_fd=31, fd=32, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.708 TRCE[<unknown>] socket event socket=45 readable=true writable=false 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] << date: Fri, 10 Jul 2026 10:09:55 GMT\r\n 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.709 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[polling::epoll] remove: epoll_fd=31, fd=45
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- handler
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[<unknown>] -- send_async
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Jul 10 10:09:55.709 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=1
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=2
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=3
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:38061/__httpmock__/ping
[INFO] [stdout] Jul 10 10:09:55.710 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[<unknown>] handler
[INFO] [stdout] Jul 10 10:09:55.710 TRCE[polling] Poller::notify()
[INFO] [stdout] Jul 10 10:09:55.710 TRCE[polling::epoll] notify: epoll_fd=42, event_fd=43
[INFO] [stdout] Jul 10 10:09:55.710 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=4
[INFO] [stdout] Jul 10 10:09:55.710 DEBG[httpmock::server::web::handlers] Adding new mock with ID=5
[INFO] [stdout] Jul 10 10:09:55.710 INFO[httpmock::server] Listening on 127.0.0.1:46109
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[reqwest::blocking::client] (ThreadId(31)) start runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[polling::epoll] add: epoll_fd=58, fd=60, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[polling::epoll] add: epoll_fd=58, fd=59, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[polling::epoll] new: epoll_fd=58, event_fd=59, timer_fd=Some(60)
[INFO] [stdout] Jul 10 10:09:55.711 DEBG[<unknown>] agent_thread; id=3
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Jul 10 10:09:55.711 DEBG[<unknown>] agent took 627.68µs to start up 
[INFO] [stdout] Jul 10 10:09:55.711 TRCE[reqwest::blocking::wait] (ThreadId(2)) park without timeout
[INFO] [stdout] Jul 10 10:09:55.712 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:46109/__httpmock__/ping
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.712 DEBG[<unknown>] handler
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.712 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling] Poller::notify()
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] notify: epoll_fd=58, event_fd=59
[INFO] [stdout] Jul 10 10:09:55.712 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] wait: epoll_fd=58, timeout=Some(0ns)
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] wait: epoll_fd=42, timeout=Some(0ns)
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] modify: epoll_fd=58, fd=60, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] modify: epoll_fd=42, fd=44, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] new events: epoll_fd=58, res=1
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] new events: epoll_fd=42, res=1
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] modify: epoll_fd=58, fd=59, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.712 TRCE[polling::epoll] modify: epoll_fd=42, fd=43, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.718 DEBG[<unknown>]   Trying 127.0.0.1:38061... 
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.718 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 64 
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.718 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 38061 (#0) 
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:38061\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] Jul 10 10:09:55.718 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[polling::epoll] add: epoll_fd=42, fd=64, ev=Event { key: 64, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.718 TRCE[polling] Poller::wait(_, Some(199.92884ms))
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[polling::epoll] wait: epoll_fd=42, timeout=Some(199.92884ms)
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[polling::epoll] modify: epoll_fd=42, fd=44, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.719 INFO[httpmock::server] Listening on 127.0.0.1:35307
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[polling::epoll] add: epoll_fd=70, fd=72, ev=Event { key: 18446744073709551615, readable: false, writable: false }
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[polling::epoll] add: epoll_fd=70, fd=71, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[polling::epoll] new: epoll_fd=70, event_fd=71, timer_fd=Some(72)
[INFO] [stdout] Jul 10 10:09:55.719 DEBG[<unknown>] agent_thread; id=4
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] -> agent_thread
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.719 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] agent took 626.43µs to start up 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] send_async; method=GET uri=http://127.0.0.1:35307/__httpmock__/ping
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.719 DEBG[<unknown>]   Trying 127.0.0.1:46109... 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 73 
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 46109 (#0) 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling] Poller::notify()
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] notify: epoll_fd=70, event_fd=71
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:46109\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] Jul 10 10:09:55.720 TRCE[<unknown>] received message from agent handle 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] handler; id=0
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling] Poller::wait(_, Some(0ns))
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] add: epoll_fd=58, fd=73, ev=Event { key: 73, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] wait: epoll_fd=70, timeout=Some(0ns)
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] modify: epoll_fd=70, fd=72, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling] Poller::wait(_, Some(199.94887ms))
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] new events: epoll_fd=70, res=1
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] wait: epoll_fd=58, timeout=Some(199.94887ms)
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] modify: epoll_fd=70, fd=71, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[polling::epoll] modify: epoll_fd=58, fd=60, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>]   Trying 127.0.0.1:35307... 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.720 DEBG[<unknown>] Failed to set TCP_KEEPINTVL on fd 78 
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.721 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Jul 10 10:09:55.721 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.721 DEBG[<unknown>] Connected to 127.0.0.1 (127.0.0.1) port 35307 (#0) 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:46109"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] >> GET /__httpmock__/ping HTTP/1.1\r\nHost: 127.0.0.1:35307\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] Jul 10 10:09:55.721 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling::epoll] add: epoll_fd=70, fd=78, ev=Event { key: 78, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling] Poller::wait(_, Some(199.87238ms))
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling::epoll] wait: epoll_fd=70, timeout=Some(199.87238ms)
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling::epoll] new events: epoll_fd=58, res=1
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling::epoll] modify: epoll_fd=70, fd=72, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[polling::epoll] modify: epoll_fd=58, fd=59, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] socket event socket=73 readable=true writable=false 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.721 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.721 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.721 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] << date: Fri, 10 Jul 2026 10:09:55 GMT\r\n 
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.722 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[polling::epoll] remove: epoll_fd=58, fd=73
[INFO] [stdout] Jul 10 10:09:55.722 TRCE[<unknown>] -- handler
[INFO] [stdout] Jul 10 10:09:55.720 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.723 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Jul 10 10:09:55.723 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:38061"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.723 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.725 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.728 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.736 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.736 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.736 TRCE[<unknown>] -- send_async
[INFO] [stdout] Jul 10 10:09:55.736 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Jul 10 10:09:55.736 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Jul 10 10:09:55.737 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[reqwest::blocking::wait] (ThreadId(5)) park without timeout
[INFO] [stdout] Jul 10 10:09:55.736 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] received 163 bytes 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] Request.parse bytes=163 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] Request.parse Complete(163) 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.737 DEBG[<unknown>] parsed 5 headers 
[INFO] [stdout] Jul 10 10:09:55.737 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/__httpmock__/ping", query: "", headers: [("host", "127.0.0.1:35307"), ("accept", "*/*"), ("accept-encoding", "deflate, gzip"), ("user-agent", "curl/7.79.1-DEV isahc/1.5.1"), ("content-length", "0")] }
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.737 TRCE[<unknown>] Server::encode status=200, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[polling::epoll] new events: epoll_fd=42, res=1
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[polling::epoll] modify: epoll_fd=42, fd=43, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] socket event socket=64 readable=true writable=false 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] << date: Fri, 10 Jul 2026 10:09:55 GMT\r\n 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.738 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[polling::epoll] remove: epoll_fd=42, fd=64
[INFO] [stdout] Jul 10 10:09:55.738 TRCE[<unknown>] -- handler
[INFO] [stdout] Jul 10 10:09:55.740 DEBG[<unknown>] flushed 75 bytes 
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[polling::epoll] new events: epoll_fd=70, res=1
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[polling::epoll] modify: epoll_fd=70, fd=71, ev=Event { key: 18446744073709551615, readable: true, writable: false }
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] socket event socket=78 readable=true writable=false 
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.740 DEBG[<unknown>] Mark bundle as not supporting multiuse 
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] << HTTP/1.1 200 OK\r\n 
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.740 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] << content-length: 0\r\n 
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] << date: Fri, 10 Jul 2026 10:09:55 GMT\r\n 
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- header
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] << \r\n 
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> handler
[INFO] [stdout] Jul 10 10:09:55.741 DEBG[<unknown>] Connection #0 to host 127.0.0.1 left intact 
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[polling::epoll] remove: epoll_fd=70, fd=78
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- handler
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[<unknown>] -- send_async
[INFO] [stdout] Jul 10 10:09:55.741 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Jul 10 10:09:55.742 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Jul 10 10:09:55.742 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Jul 10 10:09:55.742 TRCE[reqwest::blocking::wait] (ThreadId(3)) park without timeout
[INFO] [stdout] Jul 10 10:09:55.783 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.783 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Jul 10 10:09:55.783 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.785 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Jul 10 10:09:55.785 TRCE[reqwest::blocking::wait] (ThreadId(2)) park timeout 29.99998961s
[INFO] [stdout] Jul 10 10:09:55.787 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.787 TRCE[<unknown>] connect error for 127.0.0.1:8000: ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }) 
[INFO] [stdout] Jul 10 10:09:55.787 WARN[rocket::config::config] 🔧 Configured for debug.
[INFO] [stdout] Jul 10 10:09:55.788 WARN[rocket::config::config] address: [1;49;39m127.0.0.1[0m
[INFO] [stdout] Jul 10 10:09:55.788 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.788 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(31))
[INFO] [stdout] Jul 10 10:09:55.789 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(31))
[INFO] [stdout] Jul 10 10:09:55.788 WARN[rocket::config::config] port: [1;49;39m8000[0m
[INFO] [stdout] Jul 10 10:09:55.789 WARN[rocket::config::config] workers: [1;49;39m16[0m
[INFO] [stdout] Jul 10 10:09:55.789 WARN[rocket::config::config] ident: [1;49;39mRocket[0m
[INFO] [stdout] Jul 10 10:09:55.789 WARN[rocket::config::config] keep-alive: [1;49;39m5s[0m
[INFO] [stdout] Jul 10 10:09:55.789 TRCE[reqwest::blocking::client] (ThreadId(31)) Receiver is shutdown
[INFO] [stdout] Jul 10 10:09:55.789 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] Jul 10 10:09:55.790 WARN[rocket::config::config] tls: [1;49;39mdisabled[0m
[INFO] [stdout] Jul 10 10:09:55.790 WARN[rocket::config::config] temp dir: [1;49;39m/tmp[0m
[INFO] [stdout] Jul 10 10:09:55.790 WARN[rocket::config::config] log level: [1;49;39mnormal[0m
[INFO] [stdout] Jul 10 10:09:55.790 WARN[rocket::config::config] cli colors: [1;49;39mtrue[0m
[INFO] [stdout] Jul 10 10:09:55.791 WARN[rocket::config::config] shutdown: [1;49;39mctrlc = true, force = true, signals = [SIGTERM], grace = 2s, mercy = 3s[0m
[INFO] [stdout] Jul 10 10:09:55.791 WARN[rocket::rocket] 🛰  [35mRoutes[0m:
[INFO] [stdout] Jul 10 10:09:55.791 WARN[rocket::rocket] [36m([0m[37mstatus[0m[36m)[0m [32mGET[0m [34m/status[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [32mGET[0m [34m/openapi.json[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [36m([0m[37mlist[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/list[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [36m([0m[37mcount[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>/count[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/index.html[0m
[INFO] [stdout] Jul 10 10:09:55.792 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui.css[0m
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/oauth2-redirect.html[0m
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-bundle.js[0m
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-config.json[0m
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::rocket] [32mGET[0m [4;34m/swagger[0m[34m/swagger-ui-standalone-preset.js[0m
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::fairing::fairings] 📡 [35mFairings[0m:
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::fairing::fairings] [1;49;39mBetterLogging[0m ([1;34mrequest, response[0m)
[INFO] [stdout] Jul 10 10:09:55.793 WARN[rocket::fairing::fairings] [1;49;39mShield[0m ([1;34mliftoff, response, singleton[0m)
[INFO] [stdout] Jul 10 10:09:55.794 INFO[rocket::shield::shield] 🛡️ [35mShield[0m:
[INFO] [stdout] Jul 10 10:09:55.793 TRCE[<unknown>] -> send_async
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[<unknown>] <- send_async
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[<unknown>] -- send_async
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[httpmock::server::web::handlers] Deleted all mocks
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[httpmock::server::web::handlers] Deleted request history
[INFO] [stdout] Jul 10 10:09:55.794 DEBG[httpmock::server::web::handlers] Adding new mock with ID=0
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[reqwest::blocking::wait] (ThreadId(6)) park without timeout
[INFO] [stdout] Jul 10 10:09:55.793 TRCE[reqwest::blocking::client] (ThreadId(35)) start runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.794 TRCE[reqwest::blocking::client] (ThreadId(31)) end runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.795 TRCE[reqwest::blocking::client] (ThreadId(31)) finished
[INFO] [stdout] Jul 10 10:09:55.795 TRCE[reqwest::blocking::client] (ThreadId(37)) start runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.794 INFO[rocket::shield::shield] Permissions-Policy: [49;39minterest-cohort=()[0m
[INFO] [stdout] Jul 10 10:09:55.795 INFO[rocket::shield::shield] X-Frame-Options: [49;39mSAMEORIGIN[0m
[INFO] [stdout] Jul 10 10:09:55.795 INFO[rocket::shield::shield] X-Content-Type-Options: [49;39mnosniff[0m
[INFO] [stdout] Jul 10 10:09:55.795 WARN[rocket::rocket] 🚀 [1;49;39mRocket has launched from[0m [1;4;49;39mhttp://127.0.0.1:8000[0m
[INFO] [stdout] Jul 10 10:09:55.795 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(31))
[INFO] [stdout] Jul 10 10:09:55.793 TRCE[reqwest::blocking::client] (ThreadId(36)) start runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.839 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.840 TRCE[reqwest::blocking::wait] (ThreadId(4)) park timeout 29.99999634s
[INFO] [stdout] Jul 10 10:09:55.840 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.840 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Jul 10 10:09:55.842 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Jul 10 10:09:55.842 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.842 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.854 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Jul 10 10:09:55.855 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Jul 10 10:09:55.855 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.856 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.856 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.856 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Jul 10 10:09:55.858 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.858 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.857 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Jul 10 10:09:55.858 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.858 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.858 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Jul 10 10:09:55.858 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.858 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.861 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A45133%2Fstart, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.861 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A45133%2Fstart[0m:
[INFO] [stdout] Jul 10 10:09:55.861 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.861 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.861 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:45133/, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.861 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(45133)) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.862 DEBG[<unknown>] connecting to 127.0.0.1:45133 , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.862 DEBG[<unknown>] connected to 127.0.0.1:45133 , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.862 TRCE[<unknown>] client handshake Http1 , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.862 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.862 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.862 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.862 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.864 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.864 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.864 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.865 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.865 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:45133")] }
[INFO] [stdout] test collected_things ... FAILED
[INFO] [stdout] Jul 10 10:09:55.871 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.871 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.871 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.871 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.871 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:45133",
[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] Jul 10 10:09:55.871 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] Server::encode status=200, body=Some(Known(36)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] buffer.queue self.len=102 buf.len=36 
[INFO] [stdout] Jul 10 10:09:55.872 DEBG[<unknown>] flushed 138 bytes 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] received 138 bytes 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] Response.parse bytes=138 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.872 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.872 DEBG[<unknown>] incoming body is content-length (36 bytes) 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] decode; state=Length(36) 
[INFO] [stdout] Jul 10 10:09:55.872 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.872 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.873 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.873 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.873 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:45133/robots.txt, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.873 TRCE[<unknown>] take? ("http", 127.0.0.1:45133): expiration = Some(90s) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.873 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] idle interval checking for expired 
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.875 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.875 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.876 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.876 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:45133")] }
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.876 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:45133",
[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] Jul 10 10:09:55.876 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] Server::encode status=200, body=Some(Known(205)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.876 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.877 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.877 TRCE[<unknown>] buffer.queue self.len=102 buf.len=205 
[INFO] [stdout] Jul 10 10:09:55.877 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] received 307 bytes 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] Response.parse bytes=307 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.878 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.878 DEBG[<unknown>] incoming body is content-length (205 bytes) 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] decode; state=Length(205) 
[INFO] [stdout] Jul 10 10:09:55.878 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.878 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.879 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.879 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:45133) , REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.879 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:45133/start, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.879 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:45133/start containing 205 chars, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.879 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.880 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.880 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A45133%2Fstart with status 200 OK in 0.019s, REQ: hzHp
[INFO] [stdout] Jul 10 10:09:55.880 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] sized write, len = 221 
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] buffer.queue self.len=243 buf.len=221 
[INFO] [stdout] Jul 10 10:09:55.881 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Jul 10 10:09:55.883 DEBG[<unknown>] flushed 307 bytes 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.883 DEBG[<unknown>] flushed 464 bytes 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] received 464 bytes 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] Response.parse bytes=464 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.883 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Jul 10 10:09:55.883 DEBG[<unknown>] incoming body is content-length (221 bytes) 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] decode; state=Length(221) 
[INFO] [stdout] Jul 10 10:09:55.883 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.883 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.884 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.884 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A45133%2Fstart
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[<unknown>] idle interval checking for expired 
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(26))
[INFO] [stdout] Jul 10 10:09:55.884 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(26))
[INFO] [stdout] Jul 10 10:09:55.885 TRCE[reqwest::blocking::client] (ThreadId(26)) Receiver is shutdown
[INFO] [stdout] Jul 10 10:09:55.887 TRCE[reqwest::blocking::client] (ThreadId(26)) end runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.887 TRCE[reqwest::blocking::client] (ThreadId(26)) finished
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] parse eof 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.888 DEBG[<unknown>] read eof 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.888 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.889 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Jul 10 10:09:55.889 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Jul 10 10:09:55.889 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(26))
[INFO] [stdout] test ignores_things_excluded_by_robots ... ok
[INFO] [stdout] Jul 10 10:09:55.897 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.897 TRCE[reqwest::blocking::wait] (ThreadId(6)) park timeout 29.99999406s
[INFO] [stdout] Jul 10 10:09:55.900 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.900 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Jul 10 10:09:55.900 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Jul 10 10:09:55.900 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.901 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.901 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.901 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.902 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Jul 10 10:09:55.902 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.902 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.902 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A38061%2Fstart, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.902 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A38061%2Fstart[0m:
[INFO] [stdout] Jul 10 10:09:55.903 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.903 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.903 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:38061/, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.903 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(38061)) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.903 DEBG[<unknown>] connecting to 127.0.0.1:38061 , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.903 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.903 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.903 DEBG[<unknown>] connected to 127.0.0.1:38061 , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.903 TRCE[<unknown>] client handshake Http1 , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.904 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.904 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.904 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.904 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:38061")] }
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.905 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:38061",
[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] Jul 10 10:09:55.905 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.905 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.905 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Jul 10 10:09:55.905 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.905 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:38061/robots.txt, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] take? ("http", 127.0.0.1:38061): expiration = Some(90s) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.906 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.906 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:38061")] }
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.907 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.907 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:38061",
[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] Jul 10 10:09:55.907 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] Server::encode status=200, body=Some(Known(137)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] buffer.queue self.len=102 buf.len=137 
[INFO] [stdout] Jul 10 10:09:55.907 DEBG[<unknown>] flushed 239 bytes 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] received 239 bytes 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] Response.parse bytes=239 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] Response.parse Complete(102) 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.907 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.907 DEBG[<unknown>] incoming body is content-length (137 bytes) 
[INFO] [stdout] Jul 10 10:09:55.907 TRCE[<unknown>] decode; state=Length(137) 
[INFO] [stdout] Jul 10 10:09:55.907 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.908 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.908 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.908 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.908 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.908 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:38061) , REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.908 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:38061/start, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.908 INFO[mikes_crawler::crawler] Got body to process from http://127.0.0.1:38061/start containing 137 chars, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.908 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.908 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.909 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A38061%2Fstart with status 200 OK in 0.006s, REQ: V37A
[INFO] [stdout] Jul 10 10:09:55.909 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] sized write, len = 128 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] buffer.queue self.len=243 buf.len=128 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Jul 10 10:09:55.909 DEBG[<unknown>] flushed 371 bytes 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] received 371 bytes 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] Response.parse bytes=371 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.909 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Jul 10 10:09:55.909 DEBG[<unknown>] incoming body is content-length (128 bytes) 
[INFO] [stdout] Jul 10 10:09:55.909 TRCE[<unknown>] decode; state=Length(128) 
[INFO] [stdout] Jul 10 10:09:55.909 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.910 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.910 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A38061%2Fstart
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[<unknown>] idle interval checking for expired 
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(37))
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(37))
[INFO] [stdout] Jul 10 10:09:55.910 TRCE[reqwest::blocking::client] (ThreadId(37)) Receiver is shutdown
[INFO] [stdout] Jul 10 10:09:55.913 TRCE[reqwest::blocking::client] (ThreadId(37)) end runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.916 TRCE[reqwest::blocking::client] (ThreadId(37)) finished
[INFO] [stdout] Jul 10 10:09:55.916 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(37))
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] parse eof 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.917 DEBG[<unknown>] read eof 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Jul 10 10:09:55.917 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] test simple ... ok
[INFO] [stdout] Jul 10 10:09:55.929 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.930 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Jul 10 10:09:55.930 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.930 TRCE[reqwest::blocking::wait] (ThreadId(5)) park timeout 29.9999958s
[INFO] [stdout] Jul 10 10:09:55.930 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Jul 10 10:09:55.930 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.930 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.931 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Jul 10 10:09:55.931 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Jul 10 10:09:55.932 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.932 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.932 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Jul 10 10:09:55.932 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.932 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.932 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A46109%2Fstart, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.932 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A46109%2Fstart[0m:
[INFO] [stdout] Jul 10 10:09:55.932 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.932 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.932 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:46109/, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.932 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(46109)) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] connecting to 127.0.0.1:46109 , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] connected to 127.0.0.1:46109 , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] client handshake Http1 , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:8000/
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(8000)) 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] connecting to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.933 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.933 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:46109")] }
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[reqwest::blocking::wait] (ThreadId(3)) park timeout 29.99999605s
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.934 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:46109",
[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] Jul 10 10:09:55.934 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] connected to 127.0.0.1:8000 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] client handshake Http1 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] handshake complete, spawning background dispatcher task 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Jul 10 10:09:55.934 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.934 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:46109/robots.txt, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] received 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] take? ("http", 127.0.0.1:46109): expiration = Some(90s) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Request.parse bytes=97 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Request.parse Complete(97) 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] parsed 2 headers 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] flushed({role=server}): State { reading: KeepAlive, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Jul 10 10:09:55.935 INFO[mikes_crawler::better_logging] Received request: /crawl/http%3A%2F%2F127.0.0.1%3A35307%2Fstart, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.935 INFO[rocket::server] [32mGET[0m [34m/crawl/http%3A%2F%2F127.0.0.1%3A35307%2Fstart[0m:
[INFO] [stdout] Jul 10 10:09:55.935 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:46109")] }
[INFO] [stdout] Jul 10 10:09:55.936 INFO[rocket::server] Matched: [36m([0m[37mcrawl[0m[36m)[0m [32mGET[0m [34m/crawl/<seed>[0m
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.935 DEBG[<unknown>] flushed 97 bytes 
[INFO] [stdout] Jul 10 10:09:55.936 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:46109",
[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] Jul 10 10:09:55.936 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Server::encode status=301, body=None, req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] checkout waiting for idle connection: ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[reqwest::connect] starting new connection: http://127.0.0.1:35307/, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[<unknown>] flushed 107 bytes 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Http::connect; scheme=Some("http"), host=Some("127.0.0.1"), port=Some(Port(35307)) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[<unknown>] connecting to 127.0.0.1:35307 , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] received 107 bytes 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Response.parse bytes=107 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Response.parse Complete(107) 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.936 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.936 DEBG[<unknown>] connected to 127.0.0.1:35307 , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] client handshake Http1 , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] handshake complete, spawning background dispatcher task , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[reqwest::async_impl::client] redirect policy disallowed redirection to 'http://127.0.0.1:46109/next', REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[reqwest::async_impl::client] response '301 Moved Permanently' for http://127.0.0.1:46109/start, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.937 INFO[mikes_crawler::crawler] Got redirect from http://127.0.0.1:46109/start to http://127.0.0.1:46109/next, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] checkout dropped for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] take? ("http", 127.0.0.1:46109): expiration = Some(90s) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] flushed 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] received 90 bytes 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Request.parse bytes=90 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Request.parse Complete(90) 
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] flushed 84 bytes 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.937 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] received 84 bytes 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[<unknown>] Request.parse bytes=84 
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] Request.parse Complete(84) 
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.938 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.938 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.937 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/robots.txt", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:35307")] }
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/next", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:46109")] }
[INFO] [stdout] Jul 10 10:09:55.938 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:35307",
[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] Jul 10 10:09:55.938 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.938 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:46109",
[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] Jul 10 10:09:55.938 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.938 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Server::encode status=404, body=Some(Known(53)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] buffer.queue self.len=115 buf.len=53 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] flushed 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] received 168 bytes 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:46109) , REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.939 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:46109/next, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.939 INFO[mikes_crawler::crawler] Got response with status 404 Not Found: Not processing the body, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.939 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.940 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A46109%2Fstart with status 200 OK in 0.007s, REQ: GE8r
[INFO] [stdout] Jul 10 10:09:55.939 TRCE[<unknown>] Response.parse bytes=168 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] Response.parse Complete(115) 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] incoming body is content-length (53 bytes) 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] decode; state=Length(53) 
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[reqwest::async_impl::client] response '404 Not Found' for http://127.0.0.1:35307/robots.txt, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] take? ("http", 127.0.0.1:35307): expiration = Some(90s) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] reuse idle connection for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] Client::encode method=GET, body=None 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.940 DEBG[<unknown>] flushed 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.940 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: KeepAlive, keep_alive: Busy } 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] received 85 bytes 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Request.parse bytes=85 
[INFO] [stdout] Jul 10 10:09:55.941 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Request.parse Complete(85) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] incoming body is empty 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[httpmock::server] Routing incoming request: ServerRequestHeader { method: "GET", path: "/start", query: "", headers: [("accept", "*/*"), ("user-agent", "MikesCrawler"), ("host", "127.0.0.1:35307")] }
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] sized write, len = 241 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] buffer.queue self.len=243 buf.len=241 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[httpmock::server::web::handlers] Matching incoming HTTP request
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[httpmock::server::matchers::targets] Cannot parse json value: EOF while parsing a value at line 1 column 0
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.941 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:35307",
[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] Jul 10 10:09:55.941 TRCE[<unknown>] received 484 bytes 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Response.parse bytes=484 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Response.parse Complete(243) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Server::encode status=200, body=Some(Known(4)), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] buffer.queue self.len=114 buf.len=4 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] incoming body is content-length (241 bytes) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] decode; state=Length(241) 
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] received 118 bytes 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Response.parse bytes=118 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] Response.parse Complete(114) 
[INFO] [stdout] Jul 10 10:09:55.941 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.941 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A46109%2Fstart
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[<unknown>] parsed 3 headers 
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[<unknown>] incoming body is content-length (4 bytes) 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] decode; state=Length(4) 
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[<unknown>] flushed 484 bytes 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:35307) , REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.942 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:35307/start, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(35))
[INFO] [stdout] Jul 10 10:09:55.942 INFO[mikes_crawler::crawler] Got non html response containing: x-application/something, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(35))
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[reqwest::blocking::client] (ThreadId(35)) Receiver is shutdown
[INFO] [stdout] Jul 10 10:09:55.942 INFO[rocket::server] [1;49;39mOutcome:[0m [49;32mSuccess[0m
[INFO] [stdout] Jul 10 10:09:55.942 INFO[mikes_crawler::better_logging] Completed request /crawl/http%3A%2F%2F127.0.0.1%3A35307%2Fstart with status 200 OK in 0.006s, REQ: bPfQ
[INFO] [stdout] Jul 10 10:09:55.942 INFO[rocket::server] [32mResponse succeeded.[0m
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] encode_headers
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] -> encode_headers
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] Server::encode status=200, body=Some(Unknown), req_method=Some(GET) 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] <- encode_headers
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] -- encode_headers
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] sized write, len = 85 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] buffer.queue self.len=242 buf.len=85 
[INFO] [stdout] Jul 10 10:09:55.942 TRCE[<unknown>] no more write body allowed, user body is_end_stream = false 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] flushed 327 bytes 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] flushed 118 bytes 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=server}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] received 327 bytes 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] parse_headers
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] -> parse_headers
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] Response.parse bytes=327 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] Response.parse Complete(242) 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[reqwest::blocking::client] (ThreadId(35)) end runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] <- parse_headers
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] -- parse_headers
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] parsed 8 headers 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] incoming body is content-length (85 bytes) 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] decode; state=Length(85) 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] incoming body completed 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[reqwest::blocking::client] (ThreadId(35)) finished
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] maybe_notify; read_from_io blocked 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(35))
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] parse eof 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] put; add idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] read eof 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[<unknown>] pooling idle connection for ("http", 127.0.0.1:8000) 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.943 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Jul 10 10:09:55.943 DEBG[reqwest::async_impl::client] response '200 OK' for http://127.0.0.1:8000/crawl/http%3A%2F%2F127.0.0.1%3A35307%2Fstart
[INFO] [stdout] test relative_redirects ... ok
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[reqwest::blocking::wait] wait at most 30s
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[reqwest::blocking::client] closing runtime thread (ThreadId(36))
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[reqwest::blocking::client] signaled close for runtime thread (ThreadId(36))
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[<unknown>] flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle } 
[INFO] [stdout] Jul 10 10:09:55.944 TRCE[reqwest::blocking::client] (ThreadId(36)) Receiver is shutdown
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[reqwest::blocking::client] (ThreadId(36)) end runtime::block_on
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[<unknown>] Conn::read_head 
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[reqwest::blocking::client] (ThreadId(36)) finished
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[<unknown>] received 0 bytes 
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[<unknown>] parse eof 
[INFO] [stdout] Jul 10 10:09:55.945 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.946 DEBG[<unknown>] read eof 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[<unknown>] State::close_read() 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[<unknown>] State::close_write() 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[<unknown>] flushed({role=server}): State { reading: Closed, writing: Closed, keep_alive: Disabled } 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[<unknown>] shut down IO complete 
[INFO] [stdout] Jul 10 10:09:55.946 TRCE[reqwest::blocking::client] closed runtime thread (ThreadId(36))
[INFO] [stdout] test ignore_non_html ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- collected_things stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'collected_things' (6074) panicked at tests/integration.rs:301:6:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8000), path: "/crawl/http%3A%2F%2F127.0.0.1%3A42759%2Fstart", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })) }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x618523777f98 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x618523777f98 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x618523777f98 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x618523777f98 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x61852379133a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x61852379133a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x61852377d2a2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x61852377d2a2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x618523755676 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x618523755676 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x61852376f8d9 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x618522912e6c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x618522912e6c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x61852376fb52 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x61852376fb52 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x618523755732 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x61852374a529 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6185237566ad - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x618523791bac - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6185237918f2 - core[8fb95b77d25ab6c8]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6185228f7655 - <core[8fb95b77d25ab6c8]::result::Result<reqwest[a105cced7c190189]::blocking::response::Response, reqwest[a105cced7c190189]::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x6185228f7655 - integration[ff0cebdda4f0ee91]::collected_things
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration.rs:301:6
[INFO] [stdout]   22:     0x6185228f4aa7 - integration[ff0cebdda4f0ee91]::collected_things::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration.rs:208:22
[INFO] [stdout]   23:     0x6185228f3986 - <integration[ff0cebdda4f0ee91]::collected_things::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x618522905f4b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x618522905f4b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x6185229137c5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x6185229137c5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x6185229137c5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6185229137c5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6185229137c5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6185229137c5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x6185229137c5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x61852290d0d4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x61852290d0d4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x618522916842 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x618522916842 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x618522916842 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x618522916842 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x618522916842 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x618522916842 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x618522916842 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x61852377723f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   43:     0x61852377723f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7e1a37be6aa4 - <unknown>
[INFO] [stdout]   45:     0x7e1a37c73a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     collected_things
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration`
[INFO] running `Command { std: "docker" "inspect" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591", kill_on_drop: false }`
[INFO] [stdout] 6b31d238b2088d88c49863ef950bfee6dc548c3c703ab02066157d4eca339591
