summaryrefslogtreecommitdiff
path: root/lib/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/server.py')
-rw-r--r--lib/server.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/server.py b/lib/server.py
index 00bae9f..e0f3140 100644
--- a/lib/server.py
+++ b/lib/server.py
@@ -1,8 +1,10 @@
from flask import Flask
from flask import abort, redirect, url_for, request, jsonify
+from cherrypy import wsgiserver
import sys, os
sys.path.append("./lib")
-from Pb import *
+from pb import *
+from config import SERVER_HOST, SERVER_PORT
class InvalidUsage(Exception):
status_code = 400
@@ -22,6 +24,10 @@ class InvalidUsage(Exception):
class Server(object):
def __init__(self):
self.app = Flask(__name__)
+ self._wsgi_server = None
+ @self.app.route('/test', methods=['GET'])
+ def test():
+ return "HELLO WORLD!"
@self.app.route('/<pb_classname>', methods=['POST'])
def pb(pb_classname):
return self._response_post(pb_classname, request.form.to_dict())
@@ -71,3 +77,16 @@ class Server(object):
def run(self):
self.app.run()
+ def run_wsgi(self, server_port=SERVER_PORT, host=SERVER_HOST):
+ d = wsgiserver.WSGIPathInfoDispatcher({'/': self.app})
+ sys.stderr.write("Starting a wsgi server on %s port %s\n" % (host, server_port))
+ self._wsgi_server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', server_port), d)
+ self._wsgi_server.start()
+
+ def stop(self):
+ if self._wsgi_server:
+ self._wsgi_server.stop()
+ self._wsgi_server = None
+ return
+ else:
+ return