ores.http.core

Table of Contents

1. Diagram

ores.http.core component diagram

Figure 1: ores.http.core

2. Summary

ores.http.core implements the concrete HTTP route handlers for the ORE Studio REST API. It registers routes for each domain it still owns in process: storage and variability (configuration). The domain components served through generated NATS-forwarding route units live in their own adapter parts under projects/ores.http/ — ores.http.iam, ores.http.assets and ores.http.refdata. Each route handler translates the incoming HTTP request into NATS calls to the appropriate domain service and returns the NATS response as an HTTP response.

3. Inputs

  • Incoming HTTP requests dispatched from ores.http.api router.
  • NATS responses from ores.iam.service, ores.variability.service, ores.storage.service, etc.

4. Outputs

  • HTTP responses constructed from NATS domain service responses.
  • Route registrations added to the ores.http.api router and OpenAPI registry.

5. Entry points

  • include/ores.http.core/routes/variability_routes.hpp — config handlers.
  • include/ores.http.core/routes/storage_routes.hpp — storage handlers.

6. Dependencies

  • ores.http.api — server infrastructure, router, JWT claims.
  • ores.iam.api, ores.variability.api, ores.storage.api — NATS protocol types for each domain service called.
  • nats.c — NATS client for forwarding requests.

7. Build dependencies

What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.

8. See also

target_link_libraries(${lib_target_name}
    PUBLIC
        ores.storage.core.lib
        ores.http.api.lib
        ores.iam.core.lib
        ores.variability.core.lib
        ores.compute.core.lib
        ores.geo.lib
    PRIVATE
        ores.utility.lib
        ores.security.lib
        ores.database.lib
        ores.dq.api.lib)

Emacs 29.3 (Org mode 9.6.15)