Start web server on ``address:port``.

    Use wrapper function :func:`start` instead.

    :arg str address: address of the server [default: localhost].
    :arg int port: tcp port of the server [default: 8888].
    :arg int check_time: millisecondes to wait until reload browser when
        autoreload is enabled [default: 500].

def start_server(address: str = None, port: int = None,
                 check_time: int = 500, **kwargs: Any) -> module.HTTPServer:
    """Start web server on ``address:port``.

    Use wrapper function :func:`start` instead.

    :arg str address: address of the server [default: localhost].
    :arg int port: tcp port of the server [default: 8888].
    :arg int check_time: millisecondes to wait until reload browser when
        autoreload is enabled [default: 500].
    """
    # Add application's static files directory
    from wdom.document import get_document
    add_static_path('_static', STATIC_DIR)
    doc = get_document()
    if os.path.exists(doc.tempdir):
        add_static_path('tmp', doc.tempdir, no_watch=True)
    if doc._autoreload or config.autoreload or config.debug:
        autoreload.start(check_time=check_time)
    global _server
    _server = module.start_server(address=address, port=port, **kwargs)
    logger.info('Start server on {0}:{1:d}'.format(
        server_config['address'], server_config['port']))

    # start messaging loop
    asyncio.ensure_future(_message_loop())

    if config.open_browser:
        open_browser('http://{}:{}/'.format(server_config['address'],
                                            server_config['port']),
                     config.browser)
    return _server