class Pione::Util::CGIInfo
CGIInfo
is a store of CGI meta-variables based on RFC3875.
Attributes
auth_type[RW]
CGI meta-variable “AUTH_TYPE”
body[RW]
request body
content_length[RW]
CGI meta-variable “CONTENT_LENGTH”
content_type[RW]
CGI meta-variable “CONTENT_TYPE”
gateway_interface[RW]
CGI meta-variable “GATEWAY_INTERFACE”
http_header[RW]
HTTP specific variable table
path_info[RW]
CGI meta-variable “PATH_INFO”
path_translated[RW]
CGI meta-variable “PATH_TRANSLATED”
query_string[RW]
CGI meta-variable “QUERY_STRING”
remote_addr[RW]
CGI meta-variable “REMOTE_ADDR”
remote_host[RW]
CGI meta-variable “REMOTE_HOST”
remote_ident[RW]
CGI meta-variable “REMOTE_IDENT”
remote_user[RW]
CGI meta-variable “REMOTE_USER”
request_method[RW]
CGI meta-variable “REQUEST_METHOD”
script_name[RW]
CGI meta-variable “SCRIPT_NAME”
server_name[RW]
CGI meta-variable “SERVER_NAME”
server_port[RW]
CGI meta-variable “SERVER_PORT”
server_protocol[RW]
CGI meta-variable “SERVER_PROTOCOL”
server_software[RW]
CGI meta-variable “SERVER_SOFTWARE”
Public Class Methods
new()
click to toggle source
# File lib/pione/util/cgi.rb, line 68 def initialize @auth_type = nil @content_length = nil @content_type = nil @gateway_interface = "CGI/1.1" @path_info = nil @path_translated = nil @query_string = nil @remote_addr = nil @remote_host = nil @remote_ident = nil @remote_user = nil @request_method = nil @script_name = nil @server_name = nil @server_port = nil @server_protocol = "HTTP/1.1" @server_software = "PIONE/%s" % Pione::VERSION @body = nil @http_header = Hash.new end
Public Instance Methods
create_arguments()
click to toggle source
# File lib/pione/util/cgi.rb, line 123 def create_arguments unless @query_string.include?("=") return @query_string.split("+").map do |arg| begin CGIUtils.decode(arg) rescue raise CGIError.failed_to_decode(@query_string) end end end return [] end
create_env()
click to toggle source
Create environment variables. @return [Hash]
environment variables
# File lib/pione/util/cgi.rb, line 93 def create_env env = Hash.new # store CGI meta-variables env["AUTH_TYPE"] = @auth_type if @auth_type env["CONTENT_LENGTH"] = @content_length if @content_length env["CONTENT_TYPE"] = @content_type if @content_type env["GATEWAY_INTERFACE"] = @gateway_interface env["PATH_INFO"] = @path_info env["PATH_TRANSLATED"] = @path_translated env["QUERY_STRING"] = @query_string env["REMOTE_ADDR"] = @remote_addr env["REMOTE_HOST"] = @remote_host env["REMOTE_IDENT"] = @remote_ident if @remote_ident env["REMOTE_USER"] = @remote_user if @remote_user env["REQUEST_METHOD"] = @request_method.to_s env["SCRIPT_NAME"] = @script_name env["SERVER_NAME"] = @server_name env["SERVER_PORT"] = @server_port env["SERVER_PROTOCOL"] = @server_protocol env["SERVER_SOFTWARE"] = @server_software # store HTTP specific variables @http_header.each do |key, val| env["HTTP_%s" % key] = val end return env end