1.6.17 • Published 10 months ago

socket-request-server v1.6.17

Weekly downloads
19
License
MIT
Repository
github
Last release
10 months ago

socket-request-server

Simple WebSocket request/response server

INSTALL

npm i --save socket-request-server

usage

basic

import server from 'socket-request-server'
server(
  { port: 6000, keepValue: false },
  {
    date: ({ send }) => response.send(new Date())
  }
)

Custom http server

import { server } from 'socket-request-server'
import { createServer } from 'http' // optional

const httpServer = createServer() // define your own http server
server(
  { httpServer, port: 6000 },
  {
    user: ({ email, password }, response) => {
      // response.connection.socket._peername
      if (!email || !password) {
        response.error(`Expected email & password to be defined`)
      } else {
        // do something
        response.send('some value')
      }
    }
  }
)

customEvent

import server from 'socket-request-server'

server(
  { port: 6000 },
  {
    // does nothing when a customEvent is detected
    ping: ({ email, password }, response) => {
      response.send(true)
    }
  }
)

const connection = server.connections()[0]
const messageId = uuid()

const data = JSON.stringify({
  url: 'ping',
  status: 200,
  value: message,
  id: messageId,
  customMessage: true
})

const onmessage = (message) => {
  let data
  if (message.type) {
    switch (message.type) {
      case 'binary':
        data = message.binaryData.toString()
        break
      case 'utf8':
        data = message.utf8Data
        break
    }
  }

  const { route, params, url, id } = JSON.parse(data)
  if (id === messageId) {
    // do something ...
    connection.removeListener('message', onmessage)
  }
}
connection.on('message', onmessage)
connection.send(data)
connection.publish('topic', message)
1.6.9

10 months ago

1.6.11

10 months ago

1.6.8

10 months ago

1.6.10

10 months ago

1.6.7

10 months ago

1.6.13

10 months ago

1.6.12

10 months ago

1.6.15

10 months ago

1.6.14

10 months ago

1.6.17

10 months ago

1.6.16

10 months ago

1.6.4

2 years ago

1.6.6

2 years ago

1.6.5

2 years ago

1.6.3

3 years ago

1.6.2

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.1

6 years ago

0.5.0

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago