0
0
Fork 0

Fix OEmbed leaking information about existence of non-public statuses (#12930)

This commit is contained in:
Eugen Rochko 2020-01-24 00:20:51 +01:00 committed by GitHub
parent daf71573d0
commit c4c315ea40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View file

@ -1,17 +1,25 @@
# frozen_string_literal: true
class Api::OEmbedController < Api::BaseController
respond_to :json
skip_before_action :require_authenticated_user!
before_action :set_status
before_action :require_public_status!
def show
@status = status_finder.status
render json: @status, serializer: OEmbedSerializer, width: maxwidth_or_default, height: maxheight_or_default
end
private
def set_status
@status = status_finder.status
end
def require_public_status!
not_found if @status.hidden?
end
def status_finder
StatusFinder.new(params[:url])
end