# socket.io-session-middleware

> Share connect/express sessions with socket.io 1.x

Latest version **0.1.0** (published 2016-04-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install socket.io-session-middleware
pnpm add socket.io-session-middleware
yarn add socket.io-session-middleware
bun add socket.io-session-middleware
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2016-04-04 |
| First published | 2014-06-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 19 |
| Author | peerigon |
| Maintainers | peerigon |
| Keywords | socket.io, connect, express, session, http |

## Links

- npm: https://www.npmjs.com/package/socket.io-session-middleware
- Repository: https://github.com/peerigon/socket.io-session-middleware
- Issues: https://github.com/peerigon/socket.io-session-middleware/issues
- npm.io page: https://npm.io/package/socket.io-session-middleware

## 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

- 0.1.0 (latest) — 2016-04-04
- 0.0.4 — 2014-06-12
- 0.0.3 — 2014-06-12
- 0.0.2 — 2014-06-12
- 0.0.1 — 2014-06-11

## README

## socket.io-session-middleware

Share connect/express sessions with socket.io 1.x

## Setup

[![npm status](https://nodei.co/npm/socket.io-session-middleware.png?downloads=true&stars=true)](https://npmjs.org/package/socket.io-session-middleware)

[![Dependency Status](https://david-dm.org/peerigon/socket.io-session-middleware.svg)](https://david-dm.org/peerigon/socket.io-session-middleware)


## Example

__Server__

```javascript
var socketSession = require("socket.io-session-middleware");
    
var session = {
    store: new connect.session.MemoryStore(),
    secret: "secret",
    key: "mykey.sid",
    cookieParser: connect.cookieParser("secret")
};

io.use(socketSession(session));

io.on("connection", function(socket){

    socket.on("whoAreYou", function(callback){
        
        //read from session
        callback(socket.session.name);
    });
    
    socket.on("setName", function(data) {
        
        //write to session
        socket.session.name = data.name;
    })
});

```

__Client__

```javascript

socket.emit("setName", { name: "hans" });

socket.emit("whoAreYou", function(name) { 
    console.log("I am " + name); 
});


//=> I am hans 
```

A full featured example can be found in the _example_ folder. 


## Notes 

Make sure to fire a http request to initialize the session/cookie before accessing the session with socket.io. 
If you are serving the socket.io client with your node.js server this won't be a problem for you.

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