6: def handle(ctx, params)
7: uri = params[:uri]
8: if %w{ http https }.include?(uri.scheme.downcase)
9: klass = Net::HTTP.const_get(params[:verb].to_s.capitalize)
10: params[:request] ||= klass.new(uri.request_uri)
11: end
12:
13: if %w{ file }.include?(uri.scheme.downcase)
14: o = Struct.new(:uri).new(uri)
15: class << o
16: def add_field(*args); end
17: alias :[]= :add_field
18: def path
19: uri.path
20: end
21: def each_header; end
22: end
23: params[:request] ||= o
24: end
25:
26: super
27: end