from pathlib import Path

import cherrypy


PROJECT_DIR = Path(__file__).parent.resolve().absolute()  # this file's directory


class RootHTTPApp:
    @cherrypy.expose
    def index(self):
        return 'TLS works!'


def main():
    cherrypy.config.update({
        'server.socket_host': '0.0.0.0',
        'server.socket_port': 4443,
        'server.ssl_module': 'pyopenssl',
        'server.ssl_certificate': str(PROJECT_DIR / 'server.pem'),
        'server.ssl_certificate_chain': str(PROJECT_DIR / 'client.pem'),
        'server.ssl_private_key': str(PROJECT_DIR / 'server.key'),
    })

    cherrypy.tree.mount(RootHTTPApp(), '/')
    cherrypy.engine.start()
    cherrypy.engine.block()


if __name__ == '__main__':
    main()