Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.51 KB

File metadata and controls

42 lines (30 loc) · 1.51 KB

Overview

Ingest is a server framework built around five ideas:

  • a single server model that works across local and serverless runtimes
  • an event-driven request lifecycle
  • multiple ways to define routes
  • optional composition through plugins and routers
  • route metadata that tools can inspect

What Ingest emphasizes

Ingest is strongest when you want to:

  • keep application code close to HTTP concerns
  • compose behavior through plugins instead of a large application container
  • move between Node HTTP and WHATWG-style runtimes without rewriting your app model
  • choose the route organization style that fits the project
  • expose route structure to build or deployment tooling

The mental model

At a high level, an Ingest app works like this:

  1. Create a server().
  2. Register routes, hooks, and plugins.
  3. Let an adapter turn runtime input into Ingest Request and Response objects.
  4. Run the request through lifecycle events and route resolution.
  5. Return or dispatch the response in the current runtime.

Reading path

If you are new to the project, read in this order:

  1. Application Model
  2. Data Surfaces
  3. Request Lifecycle
  4. Composition
  5. Routing Patterns
  6. Runtimes and Tooling

Then move into Guides for implementation tasks or API Reference for exact signatures.