class ActionDispatch::Http::ContentDisposition
Constants
- RFC_5987_ESCAPED_CHAR
- TRADITIONAL_ESCAPED_CHAR
- VERSION
Attributes
disposition[R]
filename[R]
Public Class Methods
format(disposition:, filename:)
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 7 def self.format(disposition:, filename:) new(disposition: disposition, filename: filename).to_s end
new(disposition:, filename:)
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 13 def initialize(disposition:, filename:) @disposition = disposition @filename = filename end
Public Instance Methods
ascii_filename()
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 20 def ascii_filename 'filename="' + percent_escape(I18n.transliterate(filename), TRADITIONAL_ESCAPED_CHAR) + '"' end
to_s()
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 30 def to_s if filename "#{disposition}; #{ascii_filename}; #{utf8_filename}" else "#{disposition}" end end
utf8_filename()
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 26 def utf8_filename "filename*=UTF-8''" + percent_escape(filename, RFC_5987_ESCAPED_CHAR) end
Private Instance Methods
percent_escape(string, pattern)
click to toggle source
# File lib/action_dispatch/http/content_disposition.rb, line 39 def percent_escape(string, pattern) string.gsub(pattern) do |char| char.bytes.map { |byte| "%%%02X" % byte }.join end end