Class WEBrick::HTTPUtils::FormData
In: lib/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

[Source]

     # File lib/webrick/httputils.rb, line 218
218:       def initialize(*args)
219:         @name = @filename = @next_data = nil
220:         if args.empty?
221:           @raw_header = []
222:           @header = nil
223:           super("")
224:         else
225:           @raw_header = EmptyRawHeader
226:           @header = EmptyHeader 
227:           super(args.shift)
228:           unless args.empty?
229:             @next_data = self.class.new(*args)
230:           end
231:         end
232:       end

Public Instance methods

[Source]

     # File lib/webrick/httputils.rb, line 242
242:       def <<(str)
243:         if @header
244:           super
245:         elsif str == CRLF
246:           @header = HTTPUtils::parse_header(@raw_header)
247:           if cd = self['content-disposition']
248:             if /\s+name="(.*?)"/ =~ cd then @name = $1 end
249:             if /\s+filename="(.*?)"/ =~ cd then @filename = $1 end
250:           end
251:         else
252:           @raw_header << str
253:         end
254:         self
255:       end

[Source]

     # File lib/webrick/httputils.rb, line 234
234:       def [](*key)
235:         begin
236:           @header[key[0].downcase].join(", ")
237:         rescue StandardError, NameError
238:           super
239:         end
240:       end

[Source]

     # File lib/webrick/httputils.rb, line 257
257:       def append_data(data)
258:         tmp = self
259:         while tmp
260:           unless tmp.next_data 
261:             tmp.next_data = data
262:             break
263:           end
264:           tmp = tmp.next_data
265:         end
266:         self
267:       end

[Source]

     # File lib/webrick/httputils.rb, line 269
269:       def each_data
270:         tmp = self
271:         while tmp
272:           next_data = tmp.next_data
273:           yield(tmp)
274:           tmp = next_data
275:         end
276:       end

[Source]

     # File lib/webrick/httputils.rb, line 278
278:       def list
279:         ret = []
280:         each_data{|data|
281:           ret << data.to_s
282:         }
283:         ret
284:       end
to_ary()

Alias for list

[Source]

     # File lib/webrick/httputils.rb, line 288
288:       def to_s
289:         String.new(self)
290:       end

[Validate]