annotate bin/homepageConfig @ 1225:70f42f9d6e04

simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf Ignore-this: 385f637df1b0d670a182d492f151a163
author Drew Perttula <drewp@bigasterisk.com>
date Mon, 08 Jun 2015 08:01:43 +0000
parents e703b3434dbd
children 3aee96f3295e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
1 #!bin/python
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
2 from run_local import log
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
3 from rdflib import RDF, URIRef
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
4 from light9 import networking, showconfig
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
5 from light9.namespaces import L9
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
6 from urlparse import urlparse
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
7 from urllib import splitport
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
8
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
9 from light9.rdfdb.syncedgraph import SyncedGraph
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
10 from twisted.internet import reactor
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
11
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
12 graph = showconfig.getGraph()
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
13
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
14 netHome = graph.value(showconfig.showUri(), L9['networking'])
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
15 print "listen %s;" % splitport(urlparse(graph.value(netHome, L9['webServer'])).netloc)[1]
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
16
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
17 for role, server in graph.predicate_objects(netHome):
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
18 if not server.startswith('http') or role == L9['webServer']:
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
19 continue
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
20 path = graph.value(role, L9['urlPath'])
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
21 if not path:
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
22 continue
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
23 server = server.rstrip('/')
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
24 print """
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
25 location /%(path)s {
1217
e703b3434dbd websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents: 1215
diff changeset
26
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
27 # for websocket
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
28 proxy_http_version 1.1;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
29 proxy_set_header Upgrade $http_upgrade;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
30 proxy_set_header Connection "upgrade";
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
31 proxy_set_header Host $host;
1215
0d295af23c4b new nginx router
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
32
1225
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
33 proxy_pass %(server)s;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
34 rewrite /[^/]+/(.*) /$1 break;
70f42f9d6e04 simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents: 1217
diff changeset
35 }""" % vars()