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