lib/rack/multipart/generator.rb in rack-2.2.10 vs lib/rack/multipart/generator.rb in rack-3.0.0.beta1
- old
+ new
@@ -1,7 +1,9 @@
# frozen_string_literal: true
+require_relative 'uploaded_file'
+
module Rack
module Multipart
class Generator
def initialize(params, first = true)
@params, @first = params, first
@@ -72,23 +74,23 @@
end
end
def content_for_tempfile(io, file, name)
length = ::File.stat(file.path).size if file.path
- filename = "; filename=\"#{Utils.escape(file.original_filename)}\"" if file.original_filename
+ filename = "; filename=\"#{Utils.escape_path(file.original_filename)}\""
<<-EOF
--#{MULTIPART_BOUNDARY}\r
-Content-Disposition: form-data; name="#{name}"#{filename}\r
-Content-Type: #{file.content_type}\r
-#{"Content-Length: #{length}\r\n" if length}\r
+content-disposition: form-data; name="#{name}"#{filename}\r
+content-type: #{file.content_type}\r
+#{"content-length: #{length}\r\n" if length}\r
#{io.read}\r
EOF
end
def content_for_other(file, name)
<<-EOF
--#{MULTIPART_BOUNDARY}\r
-Content-Disposition: form-data; name="#{name}"\r
+content-disposition: form-data; name="#{name}"\r
\r
#{file}\r
EOF
end
end