class WEBrick::HTTPUtils::FormData
Stores multipart form data. FormData objects are created when WEBrick::HTTPUtils#parse_form_data is called.
Attributes
filename[RW]
The filename of the form data part
name[RW]
The name of the form data part
Public Class Methods
new(*args)
click to toggle source
Creates a new FormData object.
args
is an Array of form data entries. One FormData will be created for each entry.
This is called by WEBrick::HTTPUtils#parse_form_data for you
Calls superclass method
String.new
# File lib/webrick/httputils.rb, line 267 def initialize(*args) @name = @filename = @next_data = nil if args.empty? @raw_header = [] @header = nil super("") else @raw_header = EmptyRawHeader @header = EmptyHeader super(args.shift) unless args.empty? @next_data = self.class.new(*args) end end end
Public Instance Methods
<<(str)
click to toggle source
Adds str
to this FormData which
may be the body, a header or a header entry.
This is called by WEBrick::HTTPUtils#parse_form_data for you
Calls superclass method
String#<<
# File lib/webrick/httputils.rb, line 300 def <<(str) if @header super elsif str == CRLF @header = HTTPUtils::parse_header(@raw_header.join) if cd = self['content-disposition'] if /\s+name="(.*?)"/ =~ cd then @name = $1 end if /\s+filename="(.*?)"/ =~ cd then @filename = $1 end end else @raw_header << str end self end
[](*key)
click to toggle source
Retrieves the header at the first entry in key
Calls superclass method
String#[]
# File lib/webrick/httputils.rb, line 286 def [](*key) begin @header[key[0].downcase].join(", ") rescue StandardError, NameError super end end
append_data(data)
click to toggle source
Adds data
at the end of the chain of entries
This is called by WEBrick::HTTPUtils#parse_form_data for you.
# File lib/webrick/httputils.rb, line 320 def append_data(data) tmp = self while tmp unless tmp.next_data tmp.next_data = data break end tmp = tmp.next_data end self end
each_data() { |tmp| ... }
click to toggle source
Yields each entry in this FormData
# File lib/webrick/httputils.rb, line 335 def each_data tmp = self while tmp next_data = tmp.next_data yield(tmp) tmp = next_data end end
list()
click to toggle source
Returns all the FormData as an Array
# File lib/webrick/httputils.rb, line 347 def list ret = [] each_data{|data| ret << data.to_s } ret end
Also aliased as: to_ary
to_s()
click to toggle source
This FormData's body
# File lib/webrick/httputils.rb, line 363 def to_s String.new(self) end