X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Server.py;h=881419045cdfb57a77d971995808ded4f1efe706;hb=refs%2Fheads%2Fplcapi-nova;hp=685565f12c5fa8077e8c9a2af66d7ef342b4471d;hpb=ab47bdf1d0df67060958bb3702ed7a94690d3902;p=plcapi.git diff --git a/Server.py b/Server.py index 685565f..8814190 100755 --- a/Server.py +++ b/Server.py @@ -13,12 +13,16 @@ from optparse import OptionParser from gevent import pywsgi # Append PLC to the system path sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0]))) -#from PLC.API import PLCAPI +from PLC.API import PLCAPI +from PLC.Config import Config +from PLC.Logger import logger class App: def __init__(self, api=None): + if not api: + api = PLCAPI() self.api = api def __call__(self, *args, **kwds): @@ -46,11 +50,11 @@ class App: def do_post(self, env, start_response): try: - request_size = int(environ.get('CONTENT_LENGTH', 0)) + request_size = int(env.get('CONTENT_LENGTH', 0)) except (ValueError): request_size = 0 - request = environ['wsgi.input'].read(request_size) - client_address = environ['REMOTE_ADDR'] + request = env['wsgi.input'].read(request_size) + client_address = env['REMOTE_ADDR'] try: response = self.api.handle(client_address, request) @@ -60,6 +64,7 @@ class App: response = "'

Internal Server Error

" status = '500 Internal Server Error' headers = [('Content-Type', 'text/html')] + logger.log_exc(status) start_response(status, headers) return [response] @@ -68,7 +73,7 @@ class App: # Defaults addr = "0.0.0.0" port = 8000 -config = '/etc/planetlab/plc_config' +config_file = '/etc/planetlab/plcapi_config' keyfile=None certfile=None @@ -91,15 +96,13 @@ except: if options.config: config = Config(options.config) - addr = config - keyfile = config.ssl_key_file - certfile = config.ssl_cert_file - - + addr = config.api_host + keyfile = config.api_ssl_key + certfile = config.api_ssl_cert + if options.port: port = int(options.port) -# Start server if keyfile and certfile: server = pywsgi.WSGIServer((addr, port), App(), keyfile=keyfile, certfile=certfile) else: