npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@glandjs/http

v1.0.0-beta

Published

A protocol adapter for HTTP built on top of the Gland architecture solution.

Readme

Description

HTTP is not your app — it’s just a protocol. Gland treats it that way.

@glandjs/http is the official HTTP layer for Gland. It provides a protocol interface that listens to incoming HTTP requests and converts them into internal Gland events — allowing your application to stay decoupled from any specific networking stack or server framework.

Rather than tying your code directly to Express, Fastify, or raw HTTP servers, @glandjs/http acts as a bridge between your HTTP server (via an adapter) and the Gland runtime. It creates an isolated, internal channel named http which routes messages from incoming HTTP requests into your Gland modules and controllers — and then emits outgoing responses back through the same channel.

The result is an elegant separation of concerns: Your core business logic doesn’t know or care where a request came from or how the response is sent. It only handles events.

This package doesn’t implement any HTTP server itself. Instead, it defines the interface — a protocol contract — and relies on adapter packages like @glandjs/express to handle the actual server lifecycle. This gives you the flexibility to plug in any HTTP engine you like, now or later.

Philosophy

The HTTP layer in Gland is designed to be replaceable. Gland doesn’t tie your application to a specific transport protocol or middleware engine. Whether you're using Express, Fastify, or something custom, the logic of your system remains untouched.

@glandjs/http brings this idea to life by abstracting away the server details and focusing purely on event-based communication. HTTP becomes just another entry point into the system — a message in, a message out.

This package introduces a dedicated event channel for HTTP (http) and exposes a broker that routes all HTTP-related events through the Gland runtime. Every adapter connected to this layer (like Express or Fastify) becomes a plug-in that speaks the same language — one that's message-driven, modular, and completely testable.

It’s not about reinventing HTTP — it’s about putting it in its place.

Documentation

For the full Gland documentation, architecture overview, and usage guides:

License

Licensed under the MIT License.