Class: CGI
Instance Method Summary collapse
- #[](key) ⇒ Object
- #cookies ⇒ Object
- #env_table ⇒ Object
- #has_key?(key) ⇒ Boolean
-
#initialize(type = "query") ⇒ CGI
constructor
A new instance of CGI.
- #key?(key) ⇒ Boolean
- #keys ⇒ Object
- #out(headers = Array.new) ⇒ Object
-
#params ⇒ Object
params has slightly different logic than Web::request.
- #query_string ⇒ Object
- #script_name ⇒ Object
Constructor Details
#initialize(type = "query") ⇒ CGI
Returns a new instance of CGI.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/web/shim/cgi.rb', line 20 def initialize(type = "query") case type when "html3" extend Html3 element_init() extend HtmlExtension when "html4" extend Html4 element_init() extend HtmlExtension when "html4Tr" extend Html4Tr element_init() extend HtmlExtension when "html4Fr" extend Html4Tr element_init() extend Html4Fr element_init() extend HtmlExtension end Web::filter do |content| while content.gsub!( /^(.+): (.+)/, '' ) if ($1.downcase == "location") Web::set_redirect($2) else Web::add_header( $1, $2 ) end end content end end |
Instance Method Details
#cookies ⇒ Object
88 89 90 91 92 93 94 95 96 |
# File 'lib/web/shim/cgi.rb', line 88 def unless @cookies @cookies = Web:: @cookies.each do |k,v| @cookies[k] = CGI::Cookie::new( k, v ) end end @cookies end |
#has_key?(key) ⇒ Boolean
106 107 108 |
# File 'lib/web/shim/cgi.rb', line 106 def has_key?(key) self.params.has_key?(key) end |
#key?(key) ⇒ Boolean
110 111 112 |
# File 'lib/web/shim/cgi.rb', line 110 def key?(key) self.params.has_key?(key) end |
#keys ⇒ Object
114 115 116 |
# File 'lib/web/shim/cgi.rb', line 114 def keys self.params.keys end |
#out(headers = Array.new) ⇒ Object
119 120 121 122 123 124 125 126 127 |
# File 'lib/web/shim/cgi.rb', line 119 def out(headers=Array.new) headers.each do |k,v| k = "Set-Cookie" if (k.downcase == "cookie") v.each do |v1| Web::add_header(k,v1) end end Web << yield end |
#params ⇒ Object
params has slightly different logic than Web::request
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/web/shim/cgi.rb', line 59 def params @params ||= nil unless @params @params = Hash.new Web::request.each do |k,v| @params[k] ||= Array.new v.each do |v1| if (Web::multipart?) @params[k].push( if v1.kind_of? Web::Upload v1 else t = Tempfile.new("Web") t.write(v1) Web::Upload.new(t, nil, nil) end ) else @params[k].push v1 end end end end @params end |