{"record":{"id":"93ed6565df79ba2f","repo":"mickael-kerjean/filestash","slug":"not-found","errorCode":"not_found","errorMessage":"{\"status\": \"error\", \"message\": \"not_found\"}","messagePattern":"\\{\"status\": \"error\", \"message\": \"not_found\"\\}","errorType":"http","errorClass":null,"httpStatus":404,"severity":"error","filePath":"server/pkg/extension/sdk/rust/src/http.rs","lineNumber":62,"sourceCode":"        self.route(\"POST\", path, middleware, handler)\n    }\n\n    pub fn delete(&mut self, path: &'static str, middleware: &'static [&'static str], handler: Handler<A>) -> &mut Self {\n        self.route(\"DELETE\", path, middleware, handler)\n    }\n\n    pub fn patch(&mut self, path: &'static str, middleware: &'static [&'static str], handler: Handler<A>) -> &mut Self {\n        self.route(\"PATCH\", path, middleware, handler)\n    }\n\n    pub fn dispatch(&self, app: &A, method: &str, path: &str, req: &RequestImpl, res: &mut ResponseImpl) {\n        for route in &self.routes {\n            if route.method == method && route.path == path {\n                (route.handler)(app, &ContextImpl{}, req, res);\n                return;\n            }\n        }\n        res.status(404);\n        res.write(b\"{\\\"status\\\": \\\"error\\\", \\\"message\\\": \\\"not_found\\\"}\");\n    }\n\n    pub fn describe(&self) {\n        for route in &self.routes {\n            let line = format!(\"{} {}\", route.method, route.path);\n            let middleware = route.middleware.join(\",\");\n            unsafe {\n                ffi_http_push_route(\n                    line.as_ptr(),\n                    line.len() as u32,\n                    middleware.as_ptr(),\n                    middleware.len() as u32,\n                );\n            }\n        }\n    }\n","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/mickael-kerjean/filestash/blob/78f756eb94ef383f1f1cd4bc3077a43a4d088ff0/server/pkg/extension/sdk/rust/src/http.rs#L44-L80","documentation":"Raised by the Rust SDK router's dispatch when no registered route matches the incoming method/path pair. The JSON body {\"status\":\"error\",\"message\":\"not_found\"} is the standard 404-style response emitted for unmatched requests, not a handler failure.","triggerScenarios":"Thrown at server/pkg/extension/sdk/rust/src/http.rs:62 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the request method and path against the routes registered in the extension (get/post/delete/patch calls)","Register the missing route or fix a typo in the client-requested path","Verify the client is calling the correct extension endpoint prefix","Add a catch-all/not-found handler that logs unmatched method+path for easier debugging"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f756eb94ef383f1f1cd4bc3077a43a4d088ff0","analyzedAt":"2026-09-06T11:52:48.712Z","contentChangedAt":"2026-09-06T11:52:48.712Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}