qhttpx 1.8.4 → 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.8.5] - 2026-01-20
6
+ **"The Usability IV Update"**
7
+
8
+ ### Added
9
+ - **Context Headers**: Added `ctx.headers` (alias for `req.headers`) for direct access to request headers.
10
+ - **Environment**: Added `dotenv` and updated `@types/node` dependencies.
11
+
5
12
  ## [1.8.4] - 2026-01-20
6
13
  **"The Usability III Update"**
7
14
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qhttpx",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "description": "The High-Performance Hybrid HTTP Runtime for Node.js. Built for extreme concurrency, request fusion, and zero-overhead scaling.",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -67,6 +67,7 @@
67
67
  "@typescript-eslint/eslint-plugin": "^8.53.0",
68
68
  "@typescript-eslint/parser": "^8.53.0",
69
69
  "autocannon": "^8.0.0",
70
+ "dotenv": "^17.2.3",
70
71
  "eslint": "^9.39.2",
71
72
  "eslint-config-prettier": "^10.1.8",
72
73
  "eslint-plugin-prettier": "^5.5.5",
@@ -474,6 +474,7 @@ class QHTTPX {
474
474
  const ctx = {
475
475
  req: null,
476
476
  res: null,
477
+ headers: null,
477
478
  url: null,
478
479
  params: null,
479
480
  query: null,
@@ -589,6 +590,7 @@ class QHTTPX {
589
590
  const mutableCtx = ctx;
590
591
  mutableCtx.req = req;
591
592
  mutableCtx.res = res;
593
+ mutableCtx.headers = req.headers;
592
594
  mutableCtx.url = url;
593
595
  mutableCtx.params = params;
594
596
  mutableCtx.query = query;
@@ -610,6 +612,7 @@ class QHTTPX {
610
612
  const mutableCtx = ctx;
611
613
  mutableCtx.req = null;
612
614
  mutableCtx.res = null;
615
+ mutableCtx.headers = null;
613
616
  mutableCtx.url = null;
614
617
  mutableCtx.params = null;
615
618
  mutableCtx.query = null;
@@ -1,4 +1,4 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import { IncomingMessage, ServerResponse, IncomingHttpHeaders } from 'http';
2
2
  import { URL } from 'url';
3
3
  import type { BufferPool, BufferPoolConfig } from './buffer-pool';
4
4
  import type { DatabaseManager } from '../database/manager';
@@ -42,6 +42,7 @@ export type QHTTPXFile = {
42
42
  export type QHTTPXContext = {
43
43
  readonly req: IncomingMessage;
44
44
  readonly res: ServerResponse;
45
+ readonly headers: IncomingHttpHeaders;
45
46
  readonly url: URL;
46
47
  readonly params: Record<string, string>;
47
48
  readonly query: Record<string, string | string[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qhttpx",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "description": "The High-Performance Hybrid HTTP Runtime for Node.js. Built for extreme concurrency, request fusion, and zero-overhead scaling.",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -67,6 +67,7 @@
67
67
  "@typescript-eslint/eslint-plugin": "^8.53.0",
68
68
  "@typescript-eslint/parser": "^8.53.0",
69
69
  "autocannon": "^8.0.0",
70
+ "dotenv": "^17.2.3",
70
71
  "eslint": "^9.39.2",
71
72
  "eslint-config-prettier": "^10.1.8",
72
73
  "eslint-plugin-prettier": "^5.5.5",
@@ -680,6 +680,7 @@ export class QHTTPX {
680
680
  const ctx: any = {
681
681
  req: null,
682
682
  res: null,
683
+ headers: null,
683
684
  url: null,
684
685
  params: null,
685
686
  query: null,
@@ -810,6 +811,7 @@ export class QHTTPX {
810
811
  const mutableCtx = ctx as any;
811
812
  mutableCtx.req = req;
812
813
  mutableCtx.res = res;
814
+ mutableCtx.headers = req.headers;
813
815
  mutableCtx.url = url;
814
816
  mutableCtx.params = params;
815
817
  mutableCtx.query = query;
@@ -833,6 +835,7 @@ export class QHTTPX {
833
835
  const mutableCtx = ctx as any;
834
836
  mutableCtx.req = null;
835
837
  mutableCtx.res = null;
838
+ mutableCtx.headers = null;
836
839
  mutableCtx.url = null;
837
840
  mutableCtx.params = null;
838
841
  mutableCtx.query = null;
package/src/core/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import { IncomingMessage, ServerResponse, IncomingHttpHeaders } from 'http';
2
2
  import { URL } from 'url';
3
3
  import type { BufferPool, BufferPoolConfig } from './buffer-pool';
4
4
  import type { DatabaseManager } from '../database/manager';
@@ -59,6 +59,7 @@ export type QHTTPXFile = {
59
59
  export type QHTTPXContext = {
60
60
  readonly req: IncomingMessage;
61
61
  readonly res: ServerResponse;
62
+ readonly headers: IncomingHttpHeaders;
62
63
  readonly url: URL;
63
64
  readonly params: Record<string, string>;
64
65
  readonly query: Record<string, string | string[]>;