An HTTP transport layer built on Gland's event-driven architecture – fully pluggable, protocol-agnostic, and minimal.
What if HTTP was just another event?
@glandjs/http is the official HTTP adapter for the Gland architecture. It implements an extensible and modular layer that transforms incoming HTTP requests into Gland-compatible events and routes them to the appropriate channel for processing.
Unlike traditional HTTP routers, this package does not define “controllers” or “routes” in a conventional sense. Instead, it seamlessly integrates with the Gland event system, allowing you to treat HTTP interactions just like any other message within the system.
- 🚦 Lightweight HTTP server (Express, Fastify support planned)
- 🔌 Pluggable HTTP broker with full channel support
- 📦 Built-in request lifecycle hooks
- ⚙️ Fully integrated with Gland DI container and event broker
- 🛡️ Supports middleware-style interceptors via event channels
- 🌐 Easily extendable to support REST APIs, RPC over HTTP, etc.
HTTP is just a transport layer.
@glandjs/http
treats HTTP not as a monolithic interface but as a message-based protocol. Instead of focusing on REST conventions, it listens to HTTP events, converts them to internal messages, and passes them through the same event-driven lifecycle used throughout Gland.
By abstracting away the server and routing logic, we allow developers to focus on core application behavior and reuse the s 9099 ame channel logic across different protocols (WebSocket, RPC, etc.).
We welcome contributions to help improve @glandjs/http
and strengthen Gland's transport ecosystem.
To contribute:
- Fork this repository.
- Follow the CONTRIBUTING.md guidelines.
- Use the appropriate Issue templates for bug reports and feature requests.
- Follow our Pull Request template when submitting PRs.
Licensed under the MIT License. See the LICENSE file for full details.
@glandjs/core
– Core application & DI@glandjs/events
– Event bus and broker infrastructure@glandjs/common
– Shared decorators and utilities
- Discord Community: https://discord.gg/GtRtkrEYwR
- GitHub Discussions: https://github.com/orgs/glandjs/discussions