Improve handling of URLs
Docker / build (push) Waiting to run
Details
Docker / build (push) Waiting to run
Details
This commit is contained in:
parent
96021984e6
commit
7ab33da7fc
|
@ -136,6 +136,7 @@ module Paste69
|
||||||
|
|
||||||
if form.has_key?("file")
|
if form.has_key?("file")
|
||||||
filename, body = form["file"]
|
filename, body = form["file"]
|
||||||
|
end
|
||||||
|
|
||||||
if form.has_key?("ext")
|
if form.has_key?("ext")
|
||||||
_, ext = form["ext"]
|
_, ext = form["ext"]
|
||||||
|
@ -144,6 +145,7 @@ module Paste69
|
||||||
filename = "#{filename}.#{ext}"
|
filename = "#{filename}.#{ext}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if body
|
||||||
@utils.store_file(
|
@utils.store_file(
|
||||||
body,
|
body,
|
||||||
content_type,
|
content_type,
|
||||||
|
@ -157,6 +159,8 @@ module Paste69
|
||||||
_, body = form["url"]
|
_, body = form["url"]
|
||||||
@utils.store_url(
|
@utils.store_url(
|
||||||
String.new(body),
|
String.new(body),
|
||||||
|
filename,
|
||||||
|
expires ? String.new(expires).to_i64 : nil,
|
||||||
remote_addr,
|
remote_addr,
|
||||||
user_agent,
|
user_agent,
|
||||||
!!secret,
|
!!secret,
|
||||||
|
|
|
@ -81,7 +81,7 @@ module Paste69
|
||||||
res
|
res
|
||||||
end
|
end
|
||||||
|
|
||||||
def store_url(url : String, addr : String? = nil, ua : String? = nil, secret : Bool = false)
|
def store_url(url : String, filename : String? = nil, requested_expiration : Int64? = nil, addr : String? = nil, ua : String? = nil, secret : Bool = false)
|
||||||
if is_fhost_url?(url)
|
if is_fhost_url?(url)
|
||||||
raise ATH::Exceptions::BadRequest.new("Invalid URL")
|
raise ATH::Exceptions::BadRequest.new("Invalid URL")
|
||||||
end
|
end
|
||||||
|
@ -102,7 +102,8 @@ module Paste69
|
||||||
if res.headers.has_key?("Content-Length")
|
if res.headers.has_key?("Content-Length")
|
||||||
l = res.headers["Content-Length"].to_i64
|
l = res.headers["Content-Length"].to_i64
|
||||||
if l <= @config.get("max_content_length").as_i64
|
if l <= @config.get("max_content_length").as_i64
|
||||||
return store_file(res.body.to_slice, res.headers["Content-Type"], nil, nil, addr, ua, secret)
|
filename ||= File.basename(url)
|
||||||
|
return store_file(res.body.to_slice, res.headers["Content-Type"], filename, nil, addr, ua, secret)
|
||||||
else
|
else
|
||||||
raise Exceptions::ContentTooLarge.new("Content-Length was too large")
|
raise Exceptions::ContentTooLarge.new("Content-Length was too large")
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue