Skip to content

chubbyts/chubbyts-http-node-bridge

Repository files navigation

chubbyts-http-node-bridge

CI Coverage Status Mutation testing badge npm-version

bugs code_smells coverage duplicated_lines_density ncloc sqale_rating alert_status reliability_rating security_rating sqale_index vulnerabilities

Description

A node req/res http bridge.

Requirements

Installation

Through NPM as @chubbyts/chubbyts-http-node-bridge.

npm i @chubbyts/chubbyts-http-node-bridge@^1.2.0

Usage

import {
  createServerRequestFactory,
  createStreamFromResourceFactory,
  createUriFactory,
} from '@chubbyts/chubbyts-http/dist/message-factory';
import { createServer, IncomingMessage, ServerResponse } from 'http';
import { createNodeToServerRequestFactory, createResponseToNodeEmitter } from '@chubbyts/chubbyts-http-node-bridge/dist/node-http';

const app = ...;

const nodeToServerRequestFactory = createNodeToServerRequestFactory(
  createUriFactory(),
  createServerRequestFactory(),
  createStreamFromResourceFactory(),
);

const responseToNodeEmitter = createResponseToNodeEmitter();

const server = createServer(async (req: IncomingMessage, res: ServerResponse) => {
  responseToNodeEmitter(await app(nodeToServerRequestFactory(req)), res);
});

const host = '0.0.0.0';
const port = 8080;

server.listen(port, host, () => {
  console.log(`Listening to ${host}:${port}`);
});

Copyright

2024 Dominik Zogg

About

A node req/res http bridge.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published