mickael-kerjean/filestash · error

not_found

not_found

Error message

{"status": "error", "message": "not_found"}

What it means

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.

Source

Thrown at server/pkg/extension/sdk/rust/src/http.rs:62

        self.route("POST", path, middleware, handler)
    }

    pub fn delete(&mut self, path: &'static str, middleware: &'static [&'static str], handler: Handler<A>) -> &mut Self {
        self.route("DELETE", path, middleware, handler)
    }

    pub fn patch(&mut self, path: &'static str, middleware: &'static [&'static str], handler: Handler<A>) -> &mut Self {
        self.route("PATCH", path, middleware, handler)
    }

    pub fn dispatch(&self, app: &A, method: &str, path: &str, req: &RequestImpl, res: &mut ResponseImpl) {
        for route in &self.routes {
            if route.method == method && route.path == path {
                (route.handler)(app, &ContextImpl{}, req, res);
                return;
            }
        }
        res.status(404);
        res.write(b"{\"status\": \"error\", \"message\": \"not_found\"}");
    }

    pub fn describe(&self) {
        for route in &self.routes {
            let line = format!("{} {}", route.method, route.path);
            let middleware = route.middleware.join(",");
            unsafe {
                ffi_http_push_route(
                    line.as_ptr(),
                    line.len() as u32,
                    middleware.as_ptr(),
                    middleware.len() as u32,
                );
            }
        }
    }

View on GitHub (pinned to 78f756eb94)

Solutions

  1. Check the request method and path against the routes registered in the extension (get/post/delete/patch calls)
  2. Register the missing route or fix a typo in the client-requested path
  3. Verify the client is calling the correct extension endpoint prefix
  4. Add a catch-all/not-found handler that logs unmatched method+path for easier debugging
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at server/pkg/extension/sdk/rust/src/http.rs:62 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class

Background: NOT_FOUND error code: why tRPC, Harbor, Nacos and other libraries return 404 "not found" errors for resources that may still exist — this error's family across 11 libraries.


AI-assisted analysis of mickael-kerjean/filestash@78f756eb94 (2026-09-06). Data as JSON: /api/errors/93ed6565df79ba2f. Report an issue: GitHub.