Files
git.stella-ops.org/docs/features/checked/gateway/configurable-route-table-static-file-serving.md
2026-02-12 21:02:43 +02:00

2.3 KiB

Configurable Route Table - Static File Serving

Module

Gateway

Status

VERIFIED

Description

The Gateway supports a StaticFile route type that serves a single specific file at an exact path. Configured via StellaOpsRoute with Type = StaticFile, Path = exact URL path (e.g., /favicon.ico), TranslatesTo = physical file path. Sub-paths are rejected (e.g., /favicon.ico/extra returns 404). The file is served with the correct MIME type inferred from the file extension.

Implementation Details

  • Modules: src/Router/__Libraries/StellaOps.Router.Gateway/, src/Router/StellaOps.Gateway.WebService/
  • Key Classes:
    • StellaOpsRoute (src/Router/__Libraries/StellaOps.Router.Gateway/Configuration/StellaOpsRoute.cs) - Route model with StellaOpsRouteType.StaticFile
    • StellaOpsRouteResolver (src/Router/StellaOps.Gateway.WebService/Routing/StellaOpsRouteResolver.cs) - Resolves exact path match for StaticFile routes
    • RouteDispatchMiddleware (src/Router/StellaOps.Gateway.WebService/Middleware/RouteDispatchMiddleware.cs) - HandleStaticFile method serves exact file with MIME detection
    • GatewayOptionsValidator (src/Router/StellaOps.Gateway.WebService/Configuration/GatewayOptionsValidator.cs) - Validates StaticFile route has non-empty TranslatesTo file path
  • Tests:
    • RouteTableIntegrationTests (src/Router/__Tests/StellaOps.Gateway.WebService.Tests/Integration/RouteTableIntegrationTests.cs) - 3 StaticFile integration tests
    • GatewayOptionsValidatorTests (src/Router/__Tests/StellaOps.Gateway.WebService.Tests/Configuration/GatewayOptionsValidatorTests.cs) - StaticFile validation tests

E2E Test Plan

  • Serve a single file: GET /favicon.ico returns file content with 200
  • Reject sub-paths: GET /favicon.ico/extra returns 404
  • Correct Content-Type: GET /favicon.ico returns Content-Type: image/x-icon

Verification

  • Run ID: run-001
  • Date: 2026-02-12
  • Method: Tier 0 source verification + Tier 1 build/code review (224/224 tests pass) + Tier 2a live HTTP API testing
  • Build: PASS (0 errors, 0 warnings)
  • Tests: PASS (224/224 Gateway tests pass)
  • Tier 2a Evidence: docs/qa/feature-checks/runs/gateway/configurable-route-table-static-file-serving/run-001/tier2-api-check.json
  • Verdict: PASS