Merge pull request #2923 from evazion/feat-source-xml

Add /sources.xml endpoint; include backtraces in json
This commit is contained in:
Albert Yi
2017-03-20 12:27:07 -07:00
committed by GitHub
3 changed files with 10 additions and 19 deletions

View File

@@ -1,25 +1,12 @@
class SourcesController < ApplicationController
# before_filter :member_only
respond_to :json
respond_to :json, :xml
def show
@source = Sources::Site.new(params[:url], :referer_url => params[:ref])
@source.get
respond_with(@source) do |format|
format.json do
render :json => @source.to_json
end
end
end
private
def rescue_exception(exception)
respond_with do |format|
format.json do
render :json => {:message => exception.to_s, :backtrace => exception.backtrace}, :status => :error
end
respond_with(@source.to_h) do |format|
format.xml { render xml: @source.to_h.to_xml(root: "source") }
end
end
end

View File

@@ -56,7 +56,7 @@ module Sources
WikiPage.other_names_match(untranslated_tags).map{|wiki_page| [wiki_page.title, wiki_page.category_name]}
end
def to_json
def to_h
return {
:artist_name => artist_name,
:profile_url => profile_url,
@@ -71,7 +71,7 @@ module Sources
:title => artist_commentary_title,
:description => artist_commentary_desc,
}
}.to_json
}
end
def available?

View File

@@ -1,5 +1,9 @@
<% if @error_message %>
{"success": false, "message": <%= raw @error_message.encode("utf-8", {:invalid => :replace, :undef => :replace, :replace => "?"}).to_json %>}
<% else %>
{"success": false, "message": <%= raw @exception.to_s.encode("utf-8", {:invalid => :replace, :undef => :replace, :replace => "?"}).to_json %>}
{
"success": false,
"message": <%= raw @exception.to_s.encode("utf-8", {:invalid => :replace, :undef => :replace, :replace => "?"}).to_json %>,
"backtrace": <%= raw @exception.backtrace.to_json %>
}
<% end %>