This commit is contained in:
Toks
2015-07-04 16:31:34 -04:00
parent d33fd43d9d
commit b1b31d7387
3 changed files with 23 additions and 1 deletions

View File

@@ -33,6 +33,27 @@ class UploadsController < ApplicationController
@urls = @source.image_urls
end
def image_proxy
if params[:url].blank? || params[:ref].blank?
raise "Must specify url and referer"
end
url = URI.parse(params[:url])
headers = {
"Referer" => params[:ref],
"User-Agent" => "#{Danbooru.config.safe_app_name}/#{Danbooru.config.version}"
}
Net::HTTP.start(url.host, url.port) do |http|
resp = http.request_get(url.request_uri, headers)
if resp.is_a?(Net::HTTPSuccess)
send_data resp.body, type: resp.content_type, disposition: "inline"
else
raise "HTTP error code: #{resp.code} #{resp.message}"
end
end
end
def index
@search = Upload.search(params[:search])
@uploads = @search.order("id desc").paginate(params[:page], :limit => params[:limit])

View File

@@ -1,5 +1,5 @@
<% if params[:url] %>
<%= image_tag(@normalized_url, :title => "Preview", :id => "image") %>
<%= image_tag(image_proxy_uploads_path(:url => @normalized_url, :ref => params[:ref]), :title => "Preview", :id => "image") %>
<ul>
<% if @remote_size %>

View File

@@ -248,6 +248,7 @@ Rails.application.routes.draw do
resources :uploads do
collection do
get :batch
get :image_proxy
end
end
resources :users do