예제 #1
0
파일: cors.py 프로젝트: zhaohb/polyaxon
def set_cors(context, config: ConfigManager):
    # session settings
    context["CORS_ALLOW_CREDENTIALS"] = True
    whitelist = config.get_list("POLYAXON_CORS_ORIGIN_WHITELIST",
                                is_optional=True,
                                default=[])
    context["CORS_ORIGIN_WHITELIST"] = whitelist
    context["CORS_ORIGIN_ALLOW_ALL"] = False if whitelist else True

    context["CORS_ALLOW_HEADERS"] = default_headers + (
        PolyaxonServiceHeaders.CLI_VERSION,
        PolyaxonServiceHeaders.CLIENT_VERSION,
        PolyaxonServiceHeaders.INTERNAL,
        PolyaxonServiceHeaders.SERVICE,
    )

    ssl_enabled = config.get_boolean("POLYAXON_SSL_ENABLED",
                                     is_optional=True,
                                     default=False)
    ssl_redirect_enabled = config.get_boolean("POLYAXON_SSL_REDIRECT_ENABLED",
                                              is_optional=True,
                                              default=False)
    context["SSL_ENABLED"] = ssl_enabled
    context["PROTOCOL"] = "http"
    context["WS_PROTOCOL"] = "ws"
    if ssl_enabled:
        context["SESSION_COOKIE_SECURE"] = True
        context["CSRF_COOKIE_SECURE"] = True
        context["SECURE_PROXY_SSL_HEADER"] = ("HTTP_X_FORWARDED_PROTO",
                                              "https")
        context["PROTOCOL"] = "https"
        context["WS_PROTOCOL"] = "wss"
    if ssl_redirect_enabled:
        context["SECURE_SSL_REDIRECT"] = True
예제 #2
0
def set_cors(context, config: ConfigManager):
    # session settings
    context["CORS_ALLOW_CREDENTIALS"] = True
    allowed_list = config.get_list("POLYAXON_CORS_ALLOWED_ORIGINS",
                                   is_optional=True,
                                   default=[])
    context["CORS_ALLOWED_ORIGINS"] = allowed_list
    context["CORS_ALLOW_ALL_ORIGINS"] = False if allowed_list else True

    context["CORS_ALLOW_HEADERS"] = (default_headers +
                                     PolyaxonServiceHeaders.get_headers())

    ssl_enabled = config.get_boolean("POLYAXON_SSL_ENABLED",
                                     is_optional=True,
                                     default=False)
    ssl_redirect_enabled = config.get_boolean("POLYAXON_SSL_REDIRECT_ENABLED",
                                              is_optional=True,
                                              default=False)
    context["SSL_ENABLED"] = ssl_enabled
    context["PROTOCOL"] = "http"
    context["WS_PROTOCOL"] = "ws"
    if ssl_enabled:
        context["SESSION_COOKIE_SECURE"] = True
        context["CSRF_COOKIE_SECURE"] = True
        context["SECURE_PROXY_SSL_HEADER"] = ("HTTP_X_FORWARDED_PROTO",
                                              "https")
        context["PROTOCOL"] = "https"
        context["WS_PROTOCOL"] = "wss"
    if ssl_redirect_enabled:
        context["SECURE_SSL_REDIRECT"] = True