# @h0rn0chse/socket-server

> Extends express.js and ws server with some utilities

Latest version **1.2.0** (published 2022-05-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install @h0rn0chse/socket-server
pnpm add @h0rn0chse/socket-server
yarn add @h0rn0chse/socket-server
bun add @h0rn0chse/socket-server
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2022-05-22 |
| First published | 2021-12-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 42.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | h0rn0chse |
| Maintainers | h0rn0chse |
| Keywords | websocket, socket, express, expressjs, ws |

## Links

- npm: https://www.npmjs.com/package/@h0rn0chse/socket-server
- Repository: https://github.com/H0rn0chse/socket-server
- Homepage: https://github.com/H0rn0chse/socket-server#readme
- Issues: https://github.com/H0rn0chse/socket-server/issues
- npm.io page: https://npm.io/package/@h0rn0chse/socket-server

## Dependencies (2)

- [ws](https://npm.io/package/ws.md) ^8.3.0
- [express](https://npm.io/package/express.md) ^4.17.1

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.2.0 (latest) — 2022-05-22
- 1.1.4 — 2022-01-16
- 1.1.3 — 2022-01-16
- 1.1.2 — 2022-01-10
- 1.1.1 — 2021-12-15
- 1.1.0 — 2021-12-15
- 1.0.3 — 2021-12-13
- 1.0.2 — 2021-12-13
- 1.0.1 — 2021-12-07
- 1.0.0 — 2021-12-07

## README

# socket-server
Extends express.js and ws server with some utilities

 * [Getting Started](#getting-started)
 * [Libraries](#libraries)

## Getting Started
This project is available as [npm package](https://www.npmjs.com/package/@h0rn0chse/socket-server).

### Installation
```javascript
npm i @h0rn0chse/socket-server
```
### Basic Usage
```javascript
import { registerSocketHandler, registerXhrHandler, send, startServer } from "@h0rn0chse/socket-server";

startServer({
    host: "localhost",
    port: 3000
})

registerXhrHandler("get", "/data/blob", (req, res, token) => {
    res.json({ foo: "bar" })
    res.end();
});

registerSocketHandler("ping", (ws, data, uuid) => {
    send(ws, "pong", { foo: "bar" });
});
```

For more examples see the [documentation](https://github.com/H0rn0chse/socket-server/wiki) and the demo files:
 * Basic Usage: [test.js](./demo/test.js)
 * Client Handler: [test_handler.js](./demo/test_handler.js)
 * Custom Adapter: [test_custom.js](./demo/test_custom.js)

### Limitations
This module can only be used with esm modules.
```javascript
// package.json
{
    "type": "module"
}
```

## Libraries
 * WebSockets [github.com/websockets/ws](https://github.com/websockets/ws)
 * Request Handling [github.com/expressjs/express](https://github.com/expressjs/express)

---
_Source: https://npm.io/package/@h0rn0chse/socket-server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
