SuperAPI AI Directory

fandhe-backend

Coding & development

View repository

Updated 10-16 05:07

About this skill

fandhe-backend

fandhe-backend is a Rust backend HTTP server framework.Server / BoundServer as the core,Middleware / UpgradeHandler / RequestGate / Interceptor The behavior of the web server is assembled from these 4 extension points. It has a sans-IO HTTP/1.1 parser, DoS limits, and graceful shutdown as standard features, and CORS, compression, static serving, WebSocket, GraphQL, OpenAPI, WebRTC, etc. are all provided as plugins separated out by feature flags (pay-for-what-you-use).

How to use it differently from other skills — Server / Router / Middleware / CORS / WebSocket Because this term is common across multiple frameworks, it is easy to reference the wrong one.hono(Web Standards JS)・fastify(Node.js native)・go-echo(Go) is a separate framework, and neither is the same as this skill.fandhe-frontend is a Rust frontend layer (SSR / SPA / SSG) in the same fandhe family, and when investigating a Rust backend HTTP server, refer to this skill (fandhe-backend).

Target version: v0.4.2 ("added in vX.Y.Z" on each page indicates the introduction version).

Official documentation: https://fandhe-ai.github.io/fandhe-backend/

Directory structure

skills/fandhe-backend/
  SKILL.md
  references/
    getting-started/
      README.md
      overview.md
      crates.md
      features.md
      installation.md
      minimal-server.md
    guides/
      README.md
      reading.md
      tutorial.md
      feature-samples.md
      extension-points.md
      streaming.md
      graceful-shutdown.md
    core/
      README.md
      server.md
      bound-server.md
      handler.md
      middleware.md
      request-gate.md
      gate-context.md
      upgrade-handler.md
      rebind-handle.md
      interceptor.md
      streaming-response.md
      diagnostics.md
      extension-points.md
    routes/
      README.md
      router.md
      path-patterns.md
      handler-types.md
    http/
      README.md
      overview.md
      request.md
      response.md
      cookie.md
      query.md
      form.md
      percent.md
      body.md
      chunked.md
      buffer.md
      error.md
      socket.md
      connection.md
    plugins/
      README.md
      cors.md
      compression.md
      static.md
      tracing.md
      websocket.md
      graphql.md
      openapi.md
      webrtc.md
      webrtc-proxy.md
      hub-wiring.md
  samples/
    README.md
    minimal-server.md
    crud-routing.md
    custom-middleware.md
    request-gate-auth.md
    interceptor.md
    cors.md
    websocket-handler.md
    graphql-schema.md
    streaming-response.md
    graceful-shutdown.md
    static-file-serving.md
    compression.md
    full-featured-app.md
  scripts/
    README.md
    install.md
    dev.md

Exploration procedure

Derive the category from the task, and identify the target page in the category's README.md:

  1. Find the category corresponding to the task in the mapping table below. Note that files with the same name exist in multiple categories (extension-points.md is guides = contracts for extension points and procedures for creating your own, core = API definitions per type and overall flow.overview.md is getting-started = overall picture of the framework, http = module structure within the crate.minimal-server.md / streaming-response.md / graceful-shutdown.md / cors.md / compression.md / interceptor.md exists in both references and samples, with references = API definitions, samples = working wiring examples)
  2. That category's references/{category}/README.md refer to this to identify the target page
  3. Read the .md of the relevant page to check the details

Task → Category mapping

Task Category Reference README
Want to know the overall picture of the framework, the two core principles, the crate structure, the list of feature flags, installation steps, and minimal configuration code examples getting-started references/getting-started/README.md
Want to know the step-by-step tutorial from a minimal server to implementing Middleware, the list of samples by feature, the contracts for the 4 extension points and procedures for creating your own, streaming transmission, graceful shutdown procedures, and how to read the guides and their intended audience guides references/guides/README.md
Server / BoundServer / Handler / Middleware / RequestGate / UpgradeHandler / Interceptor / StreamingResponse type definitions and API,GateContext(RequestGate::check connection context passed to it, peer_addr),BoundServer::rebind_handle / RebindHandle(hot-swapping a running listener without downtime), and the overall flow of the 4 extension points and plugin seams core references/core/README.md
returning redirects and replacing responses (Interceptor の intercept / map_response) core references/core/README.md
Want to replace the destination for runtime diagnostics (Diagnostics trait / DiagnosticEvent / StderrDiagnostics / Server::diagnostics) core references/core/README.md
Want access logs with status codes (Middleware::on_response_with_status) core references/core/README.md
Router routing rules,{name} / {*name} path pattern,HandlerFuture public type aliases such as,Router::merge Want to know about composition of multiple Routers and collision detection by routes references/routes/README.md
I want to push from the server via WebSocket (WsSender), connection open/close hooks (on_open / on_close / CloseReason), handshake check, path patterns, ping keepalive plugins references/plugins/README.md
Want to know about sans-IO request/response parsers, Cookie, query, form, percent-decode, body framing, chunked coding, read buffers, error responses, socket options, keep-alive http references/http/README.md
Want to know about per-feature plugin APIs such as CORS, compression, static serving, tracing, WebSocket, GraphQL, OpenAPI, WebRTC (in-process / proxy), hub common wiring, etc. plugins references/plugins/README.md
Want to know about minimal server, CRUD routing, custom Middleware / RequestGate / Interceptor, working wiring examples for CORS, WebSocket, GraphQL, streaming, graceful shutdown, static serving, compression, and production-form templates samples samples/README.md
Want to know about crate installation and feature enabling commands, and build, run, test, lint, and dependency audit commands scripts scripts/README.md