Mercurial > code > home > repos > light9
view bin/homepageConfig @ 1936:aeb1e5a3079c
add hunter pkg for tracing code
Ignore-this: 9c55901d61d26a93512f2b7873ceb7a7
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sun, 02 Jun 2019 11:39:20 +0000 |
parents | ec6ec713c276 |
children | 04ed5d134973 |
line wrap: on
line source
#!bin/python from run_local import log from light9 import showconfig from light9.namespaces import L9 from urllib.parse import urlparse from urllib.parse import splitport log.info('generating config') graph = showconfig.getGraph() netHome = graph.value(showconfig.showUri(), L9['networking']) webServer = graph.value(netHome, L9['webServer']) if not webServer: raise ValueError('no %r :webServer' % netHome) print("listen %s;" % splitport(urlparse(webServer).netloc)[1]) def location(path, server): print(f""" location /{path}/ {{ # 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}; proxy_buffering off; rewrite /[^/]+/(.*) /$1 break; }}""") for role, server in sorted(graph.predicate_objects(netHome)): if not server.startswith('http') or role == L9['webServer']: continue path = graph.value(role, L9['urlPath']) if not path: continue server = server.rstrip('/') location(path, server) showPath = showconfig.showUri().split('/', 3)[-1] root = showconfig.root()[:-len(showPath)].decode('ascii') print(f""" location /{showPath} {{ root {root}; }}""")