Set correct content-type for ActivityPub JSON (#4592)

th-downstream
Eugen Rochko 7 years ago committed by GitHub
parent 3473aac8d8
commit 1c7cbbcb8c

@ -17,7 +17,7 @@ class AccountsController < ApplicationController
end end
format.json do format.json do
render json: @account, serializer: ActivityPub::ActorSerializer, adapter: ActivityPub::Adapter render json: @account, serializer: ActivityPub::ActorSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
end end
end end

@ -7,7 +7,7 @@ class ActivityPub::OutboxesController < Api::BaseController
@statuses = @account.statuses.permitted_for(@account, current_account).paginate_by_max_id(20, params[:max_id], params[:since_id]) @statuses = @account.statuses.permitted_for(@account, current_account).paginate_by_max_id(20, params[:max_id], params[:since_id])
@statuses = cache_collection(@statuses, Status) @statuses = cache_collection(@statuses, Status)
render json: outbox_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter render json: outbox_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
private private

@ -10,7 +10,7 @@ class FollowerAccountsController < ApplicationController
format.html format.html
format.json do format.json do
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
end end
end end

@ -10,7 +10,7 @@ class FollowingAccountsController < ApplicationController
format.html format.html
format.json do format.json do
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
end end
end end

@ -20,13 +20,13 @@ class StatusesController < ApplicationController
end end
format.json do format.json do
render json: @status, serializer: ActivityPub::NoteSerializer, adapter: ActivityPub::Adapter render json: @status, serializer: ActivityPub::NoteSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
end end
end end
def activity def activity
render json: @status, serializer: ActivityPub::ActivitySerializer, adapter: ActivityPub::Adapter render json: @status, serializer: ActivityPub::ActivitySerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
private private

@ -12,7 +12,7 @@ class TagsController < ApplicationController
format.html format.html
format.json do format.json do
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end end
end end
end end

@ -1,4 +1,4 @@
# Be sure to restart your server when you modify this file. # Be sure to restart your server when you modify this file.
Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json) Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json application/ld+json)
Mime::Type.register 'text/xml', :xml, %w(application/xml application/atom+xml application/xrd+xml) Mime::Type.register 'text/xml', :xml, %w(application/xml application/atom+xml application/xrd+xml)

@ -48,6 +48,10 @@ RSpec.describe AccountsController, type: :controller do
it 'returns http success with Activity Streams 2.0' do it 'returns http success with Activity Streams 2.0' do
expect(response).to have_http_status(:success) expect(response).to have_http_status(:success)
end end
it 'returns application/activity+json' do
expect(response.content_type).to eq 'application/activity+json'
end
end end
context 'html' do context 'html' do

@ -15,5 +15,9 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do
it 'returns http success' do it 'returns http success' do
expect(response).to have_http_status(:success) expect(response).to have_http_status(:success)
end end
it 'returns application/activity+json' do
expect(response.content_type).to eq 'application/activity+json'
end
end end
end end

Loading…
Cancel
Save