# WEBrick::HTTPUtils::FormData (Class)

In: | webrick/httputils.rb
Parent: | String

## Methods

<< [] append_data each_data list new to_ary to_s

## Constants

EmptyRawHeader | = | [].freeze
EmptyHeader | = | {}.freeze

## Attributes

filename | [RW] |
name | [RW] |
next_data | [RW] |

## Public Class methods

new(*args)

[Source]

    # File webrick/httputils.rb, line 201
          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

[](*key)

[Source]

    # File webrick/httputils.rb, line 217
          def [](*key)
            begin
              @header[key[0].downcase].join(", ")
            rescue StandardError, NameError
              super
            end
          end

<<(str)

[Source]

    # File webrick/httputils.rb, line 225
          def <<(str)
            if @header
              super
            elsif str == CRLF
              @header = HTTPUtils::parse_header(@raw_header)
              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

append_data(data)

[Source]

    # File webrick/httputils.rb, line 240
          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| ...}

[Source]

    # File webrick/httputils.rb, line 252
          def each_data
            tmp = self
            while tmp
              next_data = tmp.next_data
              yield(tmp)
              tmp = next_data
            end
          end

list()

[Source]

    # File webrick/httputils.rb, line 261
          def list
            ret = []
            each_data{|data|
              ret << data.to_s
            }
            ret
          end

to_ary()

Alias for list

to_s()

[Source]

    # File webrick/httputils.rb, line 271
          def to_s
            String.new(self)
          end

[Validate]