1.6.17 • Published 9 months ago

socket-request-server v1.6.17

Weekly downloads
19
License
MIT
Repository
github
Last release
9 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

9 months ago

1.6.14

10 months ago

1.6.17

9 months ago

1.6.16

9 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