Ejemplo n.º 1
0
def serve_s3(request: HttpRequest, url_path: str,
             url_only: bool) -> HttpResponse:
    url = get_signed_upload_url(url_path)
    if url_only:
        return json_success(dict(url=url))

    return redirect(url)
Ejemplo n.º 2
0
def serve_s3(
    request: HttpRequest, url_path: str, url_only: bool, download: bool = False
) -> HttpResponse:
    url = get_signed_upload_url(url_path, download=download)
    if url_only:
        return json_success(request, data=dict(url=url))

    return redirect(url)
Ejemplo n.º 3
0
def serve_s3(request, user_profile, realm_id_str, filename):
    # type: (HttpRequest, UserProfile, str, str) -> HttpResponse
    url_path = "%s/%s" % (realm_id_str, filename)

    if realm_id_str == "unk":
        realm_id = get_realm_for_filename(url_path)
        if realm_id is None:
            # File does not exist
            return HttpResponseNotFound('<p>File not found</p>')
    else:
        realm_id = int(realm_id_str)

    # Internal users can access all uploads so we can receive attachments in cross-realm messages
    if user_profile.realm.id == realm_id or user_profile.realm.domain == 'zulip.com':
        uri = get_signed_upload_url(url_path)
        return redirect(uri)
    else:
        return HttpResponseForbidden()
Ejemplo n.º 4
0
def serve_s3(request, user_profile, realm_id_str, filename):
    # type: (HttpRequest, UserProfile, str, str) -> HttpResponse
    url_path = "%s/%s" % (realm_id_str, filename)

    if realm_id_str == "unk":
        realm_id = get_realm_for_filename(url_path)
        if realm_id is None:
            # File does not exist
            return HttpResponseNotFound('<p>File not found</p>')
    else:
        realm_id = int(realm_id_str)

    # Internal users can access all uploads so we can receive attachments in cross-realm messages
    if user_profile.realm_id == realm_id or user_profile.realm.domain == 'zulip.com':
        uri = get_signed_upload_url(url_path)
        return redirect(uri)
    else:
        return HttpResponseForbidden()
Ejemplo n.º 5
0
def get_uploaded_file(request, realm_id_str, filename,
                      redir=REQ(validator=check_bool, default=True)):
    # type: (HttpRequest, str, str, bool) -> HttpResponse
    if settings.LOCAL_UPLOADS_DIR is not None:
        return HttpResponseForbidden() # Should have been served by nginx

    user_profile = request.user
    url_path = "%s/%s" % (realm_id_str, filename)

    if realm_id_str == "unk":
        realm_id = get_realm_for_filename(url_path)
        if realm_id is None:
            # File does not exist
            return json_error(_("That file does not exist."), status=404)

    # Internal users can access all uploads so we can receive attachments in cross-realm messages
    if user_profile.realm.id == int(realm_id) or user_profile.realm.domain == 'zulip.com':
        uri = get_signed_upload_url(url_path)
        if redir:
            return redirect(uri)
        else:
            return json_success({'uri': uri})
    else:
        return HttpResponseForbidden()
Ejemplo n.º 6
0
def serve_s3(request, url_path):
    # type: (HttpRequest, str) -> HttpResponse
    uri = get_signed_upload_url(url_path)
    return redirect(uri)
Ejemplo n.º 7
0
def serve_s3(request: HttpRequest, url_path: str) -> HttpResponse:
    uri = get_signed_upload_url(url_path)
    return redirect(uri)
Ejemplo n.º 8
0
def serve_s3(request, url_path):
    # type: (HttpRequest, str) -> HttpResponse
    uri = get_signed_upload_url(url_path)
    return redirect(uri)
Ejemplo n.º 9
0
def serve_s3(request: HttpRequest, url_path: str) -> HttpResponse:
    uri = get_signed_upload_url(url_path)
    return redirect(uri)