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 210
210:       def initialize(*args)
211:         @name = @filename = @next_data = nil
212:         if args.empty?
213:           @raw_header = []
214:           @header = nil
215:           super("")
216:         else
217:           @raw_header = EmptyRawHeader
218:           @header = EmptyHeader 
219:           super(args.shift)
220:           unless args.empty?
221:             @next_data = self.class.new(*args)
222:           end
223:         end
224:       end

Public Instance methods

[Source]

     # File lib/webrick/httputils.rb, line 234
234:       def <<(str)
235:         if @header
236:           super
237:         elsif str == CRLF
238:           @header = HTTPUtils::parse_header(@raw_header)
239:           if cd = self['content-disposition']
240:             if /\s+name="(.*?)"/ =~ cd then @name = $1 end
241:             if /\s+filename="(.*?)"/ =~ cd then @filename = $1 end
242:           end
243:         else
244:           @raw_header << str
245:         end
246:         self
247:       end

[Source]

     # File lib/webrick/httputils.rb, line 226
226:       def [](*key)
227:         begin
228:           @header[key[0].downcase].join(", ")
229:         rescue StandardError, NameError
230:           super
231:         end
232:       end

[Source]

     # File lib/webrick/httputils.rb, line 249
249:       def append_data(data)
250:         tmp = self
251:         while tmp
252:           unless tmp.next_data 
253:             tmp.next_data = data
254:             break
255:           end
256:           tmp = tmp.next_data
257:         end
258:         self
259:       end

[Source]

     # File lib/webrick/httputils.rb, line 261
261:       def each_data
262:         tmp = self
263:         while tmp
264:           next_data = tmp.next_data
265:           yield(tmp)
266:           tmp = next_data
267:         end
268:       end

[Source]

     # File lib/webrick/httputils.rb, line 270
270:       def list
271:         ret = []
272:         each_data{|data|
273:           ret << data.to_s
274:         }
275:         ret
276:       end
to_ary()

Alias for list

[Source]

     # File lib/webrick/httputils.rb, line 280
280:       def to_s
281:         String.new(self)
282:       end

[Validate]