| Class | WEBrick::HTTPUtils::FormData |
| In: |
lib/webrick/httputils.rb
|
| Parent: | String |
| EmptyRawHeader | = | [].freeze |
| EmptyHeader | = | {}.freeze |
| filename | [RW] | |
| name | [RW] | |
| next_data | [RW] |
# 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
# 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
# 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
# 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
# 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