{"record":{"id":"2befd62621bb9082","repo":"epi052/feroxbuster","slug":"utils","errorCode":null,"errorMessage":"{}","messagePattern":"\\{\\}","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/utils.rs","lineNumber":321,"sourceCode":"\n                    send_command!(tx_stats, AddError(Redirection));\n\n                    ferox_print(&report, &PROGRESS_PRINTER)\n                };\n            } else if is_certificate_error(&e) {\n                log::warn!(\"Certificate error detected: {e}\");\n                send_command!(tx_stats, AddError(Certificate));\n                bail!(\":SSL: {e}\");\n            } else if e.is_connect() {\n                send_command!(tx_stats, AddError(Connection));\n            } else if e.is_request() {\n                send_command!(tx_stats, AddError(Request));\n            } else {\n                send_command!(tx_stats, AddError(Other));\n            }\n\n            log::warn!(\"Error while making request: {e}\");\n            bail!(\"{}\", e)\n        }\n        Ok(resp) => {\n            log::trace!(\"exit: make_request -> {resp:?}\");\n            send_command!(tx_stats, AddStatus(resp.status()));\n            Ok(resp)\n        }\n    }\n}\n\n/// Helper to create the standard line for output to file/terminal\n///\n/// example output:\n/// 200      127l      283w     4134c http://localhost/faq\npub fn create_report_string(\n    status: &str,\n    method: &str,\n    line_count: &str,\n    word_count: &str,","sourceCodeStart":303,"sourceCodeEnd":339,"githubUrl":"https://github.com/epi052/feroxbuster/blob/1f595dab5c76858d5a14fbc47dabf2563d729c62/src/utils.rs#L303-L339","documentation":"make_request bails with the plain reqwest error for all non-certificate failures. After categorizing the error (Connect/Request/Other) in stats and logging 'Error while making request', the raw error is propagated to the caller - this is the generic per-request failure path.","triggerScenarios":"make_request's client call returns Err that is not a certificate error: connection refused/timed out, DNS failure, connection reset, redirect loops, or body/transport errors.","commonSituations":"Target down or firewalled, wrong port/scheme, overloaded server dropping requests mid-scan, proxy unreachable, or IPv6 connectivity problems.","solutions":["Read the logged 'Error while making request: {e}' line for the concrete cause","Confirm the host:port is reachable with curl","Lower concurrency (-t) or add --rate-limit if the server is dropping connections","Check/fix --proxy configuration","Retry - transient network errors are counted in stats but shouldn't stop a robust scan"],"exampleFix":"// before\nferoxbuster -u http://target:8080 -p http://127.0.0.1:3128\n// after\ncurl -I http://target:8080   # verify reachability\nferoxbuster -u http://target:8080   # drop or fix the proxy","handlingStrategy":"retry","validationCode":"curl -sS -o /dev/null --max-time 5 http://target:8080 && echo reachable || echo unreachable","typeGuard":null,"tryCatchPattern":"// per-request errors during a scan are non-fatal; on full failure:\n// retry with lower concurrency and inspect 'Error while making request: {e}' logs\nferoxbuster -u http://target -t 20 --rate-limit 50","preventionTips":["Pre-flight reachability checks","Lower concurrency on fragile targets","Fix/remove bad proxy settings","Watch error counters in scan stats"],"tags":["network","request","reqwest"],"backgroundTag":"http-request-failed","analyzedSha":"1f595dab5c76858d5a14fbc47dabf2563d729c62","analyzedAt":"2026-09-13T19:33:06.208Z","contentChangedAt":"2026-09-13T19:33:06.208Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}