0.1.3 • Published 20 days ago

@stone-js/http-core v0.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
20 days ago

Stone.js - HTTP Core

npm npm npm Maintenance Build Status Publish Package to npmjs Quality Gate Status Coverage Security Policy CodeQL Dependabot Status Conventional Commits

Stone.js HTTP Core offers a simple, consistent API for handling HTTP requests and responses across any JavaScript runtime.


Overview

The @stone-js/http-core package defines the foundational HTTP abstractions used throughout the Stone.js ecosystem. It introduces the IncomingHttpEvent and OutgoingHttpResponse classes, enabling context-aware handling of HTTP requests and responses in a runtime-agnostic way.

This module provides a normalized API for HTTP operations that works across adapters (Node.js, Lambda, etc.), serving as the bridge between the external runtime and the internal application logic.

Key Features

  • IncomingHttpEvent: A wrapper for incoming HTTP requests with support for headers, query, body, method, and cookies
  • OutgoingHttpResponse: A consistent abstraction for building and sending structured HTTP responses
  • First-class cookie handling with Cookie (secure, signed, or plain)
  • Support for headers, status codes, redirection, and JSON responses
  • Shared interfaces for request and response resolution across runtimes

All components are designed to be used within the Continuum Architecture of Stone.js, making them predictable, extensible, and runtime-neutral.

Installation

npm install @stone-js/http-core

[!IMPORTANT] This package is pure ESM. Ensure your package.json includes "type": "module" or configure your bundler appropriately.

Usage Example

import { IncomingHttpEvent, OutgoingHttpResponse } from '@stone-js/http-core'

// Simulate incoming request
const event = new IncomingHttpEvent({
  method: 'GET',
  url: URL.parse('https://example.com/api/resource'),
  headers: { 'x-custom-header': 'value' },
  body: {},
  queryString: 'param1=value1&param2=value2',
})

// Build response
const response = OutgoingHttpResponse.create({ content: { message: 'Hello from Stone.js' } })
response.setStatus(204)
response.setHeader('Content-Type', 'application/json')

Learn More

This package is part of the Stone.js ecosystem, a modern JavaScript framework built around the Continuum Architecture.

Explore the full documentation: https://stonejs.dev

API documentation

Contributing

See Contributing Guide