Skip to main content

Overview

The HTTP trigger supports Hono middleware for adding cross-cutting concerns like logging, compression, security headers, and custom logic to your API endpoints. Middleware can be used in:
  • YAML ensembles - Reference by string name
  • TypeScript ensembles - Pass functions directly

Built-in Middleware

Conductor ships with 6 Hono middleware handlers ready to use:

Quick Example

Middleware Execution Order

Middleware executes in this specific order:
  1. CORS (if configured in trigger)
  2. Rate Limiting (if configured in trigger)
  3. Cache (if configured in trigger)
  4. Custom Middleware (your middleware array)
  5. Auth (if configured in trigger)
  6. Main Handler (ensemble execution)

Custom Middleware

Register your own middleware in your worker’s initialization.

Basic Registration

Using Custom Middleware

Advanced Custom Middleware

Common Patterns

Production API

Full production setup with security and performance:

Development API

Focused on visibility and debugging:

Public Content Site

Optimized for caching and performance:

Mixed TypeScript + YAML

You can mix both approaches in the same project:

Project Organization

Option 1: Simple Projects

Register middleware in your worker entry point:

Option 2: Organized Projects

Create dedicated middleware directory:

Option 3: Reusable Plugins

Package middleware in Conductor plugins:

Debugging Middleware

List all registered middleware:

API Reference

HttpMiddlewareRegistry

getHttpMiddlewareRegistry()

Get the global singleton registry instance:

Best Practices

  1. Order Matters - Place security middleware (secure-headers) early, compression (compress) late
  2. YAML for Production - Use named middleware in YAML for better visibility and consistency
  3. TypeScript for Prototyping - Use direct functions for one-off custom logic
  4. Register Once - Register custom middleware during app initialization, not per-request
  5. Performance - Only use middleware you need - each adds latency
  6. Testing - Test middleware in isolation before adding to production ensembles

Next Steps

Triggers

Full trigger reference

Writing Ensembles

Ensemble patterns

Testing & Observability

Monitor your APIs

Hono Middleware

Official Hono docs