__init__.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:hangoutsbot 作者: das7pad 项目源码 文件源码
def start_listening(bot=None, loop=None, name="", port=8000, certfile=None,
                    webhook_receiver=BaseHTTPRequestHandler,
                    friendly_name="UNKNOWN"):
    if loop:
        asyncio.set_event_loop(loop)

    if bot:
        webhook_receiver._bot = bot

    try:
        httpd = HTTPServer((name, port), webhook_receiver)

        if certfile:
            httpd.socket = ssl.wrap_socket(
                httpd.socket,
                certfile=certfile,
                server_side=True)

        socket = httpd.socket.getsockname()

        logger.info("%s : %s:%s...", friendly_name, socket[0], socket[1])

        httpd.serve_forever()

    except ssl.SSLError:
        logger.exception("%s : %s:%s, pem file is invalid/corrupt",
                         friendly_name, name, port)

    except OSError as err:
        if err.errno == 2:
            message = ".pem file is missing/unavailable"
        elif err.errno == 98:
            message = "address/port in use"
        else:
            message = str(err.strerror)

        logger.exception("%s : %s:%s, %s", friendly_name, name, port, message)

        try:
            httpd.socket.close()
        except:
            pass

    except KeyboardInterrupt:
        httpd.socket.close()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号