view bin/homepageConfig @ 1217:e703b3434dbd

websocket and web cleanup Ignore-this: ac6bd0444bc03ee79ce71c4aa7740bc0
author Drew Perttula <drewp@bigasterisk.com>
date Mon, 08 Jun 2015 02:08:25 +0000
parents 0d295af23c4b
children 70f42f9d6e04
line wrap: on
line source

#!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()