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")
|
||||
filename, body = form["file"]
|
||||
end
|
||||
|
||||
if form.has_key?("ext")
|
||||
_, ext = form["ext"]
|
||||
|
@ -144,6 +145,7 @@ module Paste69
|
|||
filename = "#{filename}.#{ext}"
|
||||
end
|
||||
|
||||
if body
|
||||
@utils.store_file(
|
||||
body,
|
||||
content_type,
|
||||
|
@ -157,6 +159,8 @@ module Paste69
|
|||
_, body = form["url"]
|
||||
@utils.store_url(
|
||||
String.new(body),
|
||||
filename,
|
||||
expires ? String.new(expires).to_i64 : nil,
|
||||
remote_addr,
|
||||
user_agent,
|
||||
!!secret,
|
||||
|
|
|
@ -81,7 +81,7 @@ module Paste69
|
|||
res
|
||||
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)
|
||||
raise ATH::Exceptions::BadRequest.new("Invalid URL")
|
||||
end
|
||||
|
@ -102,7 +102,8 @@ module Paste69
|
|||
if res.headers.has_key?("Content-Length")
|
||||
l = res.headers["Content-Length"].to_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
|
||||
raise Exceptions::ContentTooLarge.new("Content-Length was too large")
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue