indexing
	description: "Access to environment variables set by the HTTP server when the CGI application is executed. This class may be used as ancestor by classes needing its facilities."
	status: "See notice at end of class"
	date: "$Date$"
	revision: "$Revision$"

class interface
	CGI_ENVIRONMENT

feature -- Cookies

	cookies: HASH_TABLE [STRING, STRING]
			-- Cookie Information relative to data
	
feature -- Environment variable setting

	set_environment_variable (variable, val: STRING)
			-- Set environment variable variable to val.
		require
			valid_variable: variable /= void and then variable.count > 0
			valid_value: val /= void
	
feature -- Headerline based environment variables

	http_accept: STRING
			-- MIME types which the client will accept.

	http_user_agent: STRING
			-- Browser the client is using to send the request.
	
feature -- Not request-specific environment variables

	gateway_interface: STRING
			-- Revision of the CGI specification to which this server complies.

	server_name: STRING
			-- Server's hostname, DNS alias, or IP address.

	server_software: STRING
			-- Name and version of information server answering the request.
	
feature -- Request specific environment variables

	auth_type: STRING
			-- Protocol-specific authentication method used to validate user.

	content_length: STRING
			-- Length of the said content as given by the client.

	content_type: STRING
			-- Content type of data.

	path_info: STRING
			-- Extra path information, as given by the client.

	path_translated: STRING
			-- Translated version of PATH_INFO provided by server.

	query_string: STRING
			-- Information which follows ? in URL referencing CGI program.

	remote_addr: STRING
			-- IP address of the remote host making the request.

	remote_host: STRING
			-- Hostname making the request.

	remote_ident: STRING
			-- User name retrieved from server if RFC 931 supported.

	remote_user: STRING
			-- Username, if applicable.

	request_method: STRING
			-- Method with which the request was made.

	script_name: STRING
			-- Virtual path to the script being executed.

	server_port: STRING
			-- Port number to which request was sent.

	server_protocol: STRING
			-- Name and revision of information protocol of this request.
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class CGI_ENVIRONMENT