Files @ e703b3434dbd
Branch filter:

Location: light9/bin/homepageConfig

Drew Perttula
websocket and web cleanup
Ignore-this: ac6bd0444bc03ee79ce71c4aa7740bc0
#!bin/python
from run_local import log
from rdflib import RDF, URIRef
from light9 import networking, showconfig
from light9.namespaces import L9

from light9.rdfdb.syncedgraph import SyncedGraph
from twisted.internet import reactor

graph = SyncedGraph(networking.rdfdb.url, "homepageConfig")

@graph.initiallySynced.addCallback
def printConfig(result):
    with graph.currentState() as current:
        netHome = current.value(showconfig.showUri(), L9['networking'])
        for role, server in current.predicate_objects(netHome):
            if not server.startswith('http'):
                continue
            path = current.value(role, L9['urlPath'])
            server = server.rstrip('/')
            print """
            location /%(path)s {

              # for websocket
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
              proxy_set_header Host $host;

              proxy_pass %(server)s;
              rewrite /[^/]+/(.*) /$1 break;
            }""" % vars()

    reactor.stop()

reactor.run()