Beispiel #1
0
 def run(self, handler):
     server = CherryPyWSGIServer((self.host, self.port), handler)
     server.ssl_adapter = \
             pyOpenSSLAdapter(RestConfig.get('ssl', 'certificate'),
                              RestConfig.get('ssl', 'key'))
     try:
         server.start()
     finally:
         server.stop()
Beispiel #2
0
 def run(self, handler):
     server = CherryPyWSGIServer((self.host, self.port), handler)
     server.ssl_adapter = \
             pyOpenSSLAdapter(RestConfig.get('ssl','certificate'),
                              RestConfig.get('ssl', 'key'))
     try:
         server.start()
     finally:
         server.stop()
Beispiel #3
0
# Error logging to log file
class ErrorLogging(object):
    def write(self, err):
        logging.error(err)


# Middleware to log the requests
class LogMiddleware(object):
    def __init__(self, app):
        self.app = app

    def __call__(self, e, h):
        e['wsgi.errors'] = ErrorLogging()
        ret_val = self.app(e, h)
        log_after_request()
        return ret_val

# overwrite the stderr and stdout to log to the file
bottle._stderr = logging.error
bottle._stdout = logging.info
logging.config.dictConfig(LOGGER_CONF)

bottle_app = LogMiddleware(bottle.app())
# Use SSL if the certificate and key exists. Otherwise, run without SSL.
if (RestConfig.getboolean('listen', 'ssl')):
    bottle.run(host = "::", port=RestConfig.getint('listen', 'port'),
               server=SSLCherryPyServer, app=bottle_app)
else:
    bottle.run(host = "::", port = RestConfig.getint('listen', 'port'), server='cherrypy', app=bottle_app)
Beispiel #4
0
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import urllib2
import subprocess
import syslog
import time
import ssl
import os
import os.path
import signal
from rest_config import RestConfig

listen_ssl = RestConfig.getboolean('listen', 'ssl')
port = RestConfig.getint('listen', 'port')

# it's on localhost if i can't trust it we have bigger problems.
sslctx = ssl.create_default_context()
sslctx.check_hostname = False
sslctx.verify_mode = ssl.CERT_NONE

checkurl = "http{}://localhost:{}/api".format(
    's' if listen_ssl else '', port)
interval = 5
timeout = 5
service = "restapi"
# intervals before forced kill
grace = 1
graceleft = grace
Beispiel #5
0
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import urllib2
import subprocess
import syslog
import time
import ssl
import os
import os.path
import signal
from rest_config import RestConfig

listen_ssl = RestConfig.getboolean('listen', 'ssl')
port = RestConfig.getint('listen', 'port')

# it's on localhost if i can't trust it we have bigger problems.
sslctx = ssl.create_default_context()
sslctx.check_hostname = False
sslctx.verify_mode = ssl.CERT_NONE

checkurl = "http{}://localhost:{}/api".format(
    's' if listen_ssl else '', port)
interval = 30
timeout = 5
service = "restapi"
# intervals before forced kill
grace = 1
graceleft = grace
Beispiel #6
0
#!/usr/bin/env python3

import os
import os.path
import signal
import ssl
import subprocess
import syslog
import time
import urllib.error
import urllib.parse
import urllib.request

from rest_config import RestConfig

listen_ssl = RestConfig.getboolean("listen", "ssl")
port = RestConfig.getint("listen", "port")

# it's on localhost if i can't trust it we have bigger problems.
sslctx = ssl.create_default_context()
sslctx.check_hostname = False
sslctx.verify_mode = ssl.CERT_NONE

checkurl = "http{}://localhost:{}/api".format("s" if listen_ssl else "", port)
interval = 30
timeout = 10
service = "restapi"
# intervals before forced kill
grace = 3
graceleft = grace
Beispiel #7
0
        logging.error(err)


# Middleware to log the requests
class LogMiddleware(object):
    def __init__(self, app):
        self.app = app

    def __call__(self, e, h):
        e['wsgi.errors'] = ErrorLogging()
        ret_val = self.app(e, h)
        log_after_request()
        return ret_val

# overwrite the stderr and stdout to log to the file
bottle._stderr = logging.error
bottle._stdout = logging.info
logging.config.dictConfig(LOGGER_CONF)

serverApp = bottle.app()
serverApp.merge(commonApp)
serverApp.merge(boardApp)
bottle_app = LogMiddleware(serverApp)
# Use SSL if the certificate and key exists. Otherwise, run without SSL.
if (RestConfig.getboolean('listen', 'ssl')):
    bottle.run(host="::", port=RestConfig.getint('listen', 'port'),
               server=SSLCherryPyServer, app=bottle_app)
else:
    bottle.run(host="::", port=RestConfig.getint('listen', 'port'),
               server='cherrypy', app=bottle_app)
Beispiel #8
0
    def __init__(self, app):
        self.app = app

    def __call__(self, e, h):
        e['wsgi.errors'] = ErrorLogging()
        ret_val = self.app(e, h)
        log_after_request()
        return ret_val


# overwrite the stderr and stdout to log to the file
bottle._stderr = logging.error
bottle._stdout = logging.info
logging.config.dictConfig(LOGGER_CONF)

serverApp = bottle.app()
serverApp.merge(commonApp)
serverApp.merge(boardApp)
bottle_app = LogMiddleware(serverApp)
# Use SSL if the certificate and key exists. Otherwise, run without SSL.
if (RestConfig.getboolean('listen', 'ssl')):
    bottle.run(host="::",
               port=RestConfig.getint('listen', 'port'),
               server=SSLCherryPyServer,
               app=bottle_app)
else:
    bottle.run(host="::",
               port=RestConfig.getint('listen', 'port'),
               server='cherrypy',
               app=bottle_app)
Beispiel #9
0
            'level': 'INFO',
            'formatter': 'default',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/rest.log',
            'maxBytes': 1048576,
            'backupCount': 3,
            'encoding': 'utf8'
        },
    },
    'loggers': {
        '': {
            'handlers': ['file_handler'],
            'level': 'DEBUG',
            'propagate': True,
        },
    }
}

logging.config.dictConfig(LOGGER_CONF)
app = web.Application()
writable = RestConfig.getboolean('access', 'write', fallback=False)
if writable:
    syslog.syslog(syslog.LOG_INFO, 'REST: Launched with Read/Write Mode')
else:
    syslog.syslog(syslog.LOG_INFO, 'REST: Launched with Read Only Mode')

root = init_common_tree()
root.merge(init_plat_tree())
root.setup(app, writable)
web.run_app(app, host='*')