HTTP Server adapter for ObjectStack using Hono.
- Standard Runtime: Uses the unified
HttpDispatcherand standard Hono adapter via@objectstack/hono. - Fast: Built on Hono, a high-performance web framework.
- Full Protocol Support: Automatically provides all ObjectStack Runtime endpoints (Auth, Data, Metadata, etc.).
- Middleware: Supports standard Hono middleware.
- Wildcard CORS: Supports wildcard patterns in CORS origins (compatible with better-auth).
import { ObjectKernel } from '@objectstack/runtime';
import { HonoServerPlugin } from '@objectstack/plugin-hono-server';
const kernel = new ObjectKernel();
// Register the server plugin
kernel.use(new HonoServerPlugin({
port: 3000,
restConfig: {
api: {
apiPath: '/api/v1' // Customize API prefix
}
}
}));
await kernel.start();The Hono server plugin supports flexible CORS configuration with wildcard pattern matching.
kernel.use(new HonoServerPlugin({
port: 3000,
cors: {
origins: ['https://app.example.com'],
credentials: true
}
}));// Subdomain wildcards
kernel.use(new HonoServerPlugin({
cors: {
origins: ['https://*.objectui.org', 'https://*.objectstack.ai'],
credentials: true
}
}));
// Port wildcards (useful for development)
kernel.use(new HonoServerPlugin({
cors: {
origins: 'http://localhost:*'
}
}));
// Comma-separated patterns
kernel.use(new HonoServerPlugin({
cors: {
origins: 'https://*.objectui.org,https://*.objectstack.ai,http://localhost:*'
}
}));CORS can also be configured via environment variables:
# Single origin
CORS_ORIGIN=https://app.example.com
# Wildcard patterns (comma-separated)
CORS_ORIGIN=https://*.objectui.org,https://*.objectstack.ai
# Disable CORS
CORS_ENABLED=false
# Additional options
CORS_CREDENTIALS=true
CORS_MAX_AGE=86400kernel.use(new HonoServerPlugin({
cors: false // Completely disable CORS
}));This plugin wraps @objectstack/hono to provide a turnkey HTTP server solution for the Runtime. It binds the standard HttpDispatcher to a Hono application and starts listening on the configured port.