Skip to content

melvincarvalho/node-solid-ws

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solid-ws

Node/Javascript implementation of Websockets for Solid

Usage

Simple way

var ldnode = require('ldnode')

var server = ldnode.createServer({live: true})

server.listen(port, function () {
  console.log('Solid server started')
})

Short way

var SolidWs = require('solid-ws')
var ldnode = require('ldnode')

var server = ldnode.createServer()
solidWs(server)

server.listen(port, function () {
  console.log('Solid server started')
})

Long way

var SolidWs = require('solid-ws')
var ldnode = require('ldnode')
var express = require('express')
var https = require('https')

var app = express()
app.use('/databox', ldnode())
var server = https.createServer({/* your settings*/}, app)

server.listen(port, function () {
  console.log('Solid server started')
})

// Attach WS to solid
solidWs(server, app)

With authorization

You can pass an authorize callback to control which subscriptions are allowed:

var SolidWs = require('solid-ws')

var solidWs = SolidWs(server, app, {
  authorize: function (iri, req, callback) {
    // iri: the resource URL being subscribed to
    // req: the HTTP upgrade request (for auth headers/cookies)
    // callback(err, allowed): call with allowed=true to permit, false to deny

    checkUserAccess(iri, req, function (err, hasAccess) {
      callback(err, hasAccess)
    })
  }
})

If authorization fails, the client receives err <url> forbidden instead of ack.

About

Node/Javascript implementation of Websockets for Solid

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%