Raw File
# Returns a valid response when a request has appropriate credentials.
def main(request, response):
    credentials_mode = request.GET.first("mode")
    cookie = request.cookies.first("cookieName", None)
    source_origin = request.headers.get("origin", None);
    is_cross_origin = request.GET.first("is_cross_origin", False)

    # The request with the default WorkletOptions should not include the cookie.
    if credentials_mode is "default" and cookie is not None:
        return (404)

    # The request with "credentials=omit" should not include the cookie.
    if credentials_mode is "omit" and cookie is not None:
        return (404)

    if credentials_mode is "same-origin":
        # The cross-origin request with "credentials=same-origin" should not
        # include the cookie.
        if is_cross_origin and cookie is not None:
          return (404)
        # The same-origin request with "credentials=same-origin" should include
        # the cookie.
        if not is_cross_origin and cookie is None:
          return (404)

    # The request with "credentials=include" should include the cookie.
    if credentials_mode is "include" and cookie is None:
        return (404)

    return (200, [("Content-Type", "text/javascript"),
                  ("Access-Control-Allow-Origin", source_origin),
                  ("Access-Control-Allow-Credentials", "true")], "")
back to top