|
|
|
|
@@ -71,11 +71,11 @@ note
|
|
|
|
|
revision: "$Revision$"
|
|
|
|
|
|
|
|
|
|
deferred class
|
|
|
|
|
EWSGI_REQUEST
|
|
|
|
|
WGI_REQUEST
|
|
|
|
|
|
|
|
|
|
feature -- Access: Input
|
|
|
|
|
|
|
|
|
|
input: EWSGI_INPUT_STREAM
|
|
|
|
|
input: WGI_INPUT_STREAM
|
|
|
|
|
-- Server input channel
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
@@ -87,16 +87,16 @@ feature -- Access: extra values
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
feature -- Access: CGI environment variables
|
|
|
|
|
feature -- Access: CGI meta variables
|
|
|
|
|
|
|
|
|
|
meta_variable (a_name: READABLE_STRING_GENERAL): detachable READABLE_STRING_8
|
|
|
|
|
meta_variable (a_name: READABLE_STRING_GENERAL): detachable READABLE_STRING_32
|
|
|
|
|
-- Environment variable related to `a_name'
|
|
|
|
|
require
|
|
|
|
|
a_name_valid: a_name /= Void and then not a_name.is_empty
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
meta_variables: HASH_TABLE [READABLE_STRING_8, READABLE_STRING_GENERAL]
|
|
|
|
|
meta_variables: HASH_TABLE [READABLE_STRING_32, READABLE_STRING_GENERAL]
|
|
|
|
|
-- These variables are specific to requests made with HTTP.
|
|
|
|
|
-- Interpretation of these variables may depend on the value of
|
|
|
|
|
-- SERVER_PROTOCOL.
|
|
|
|
|
@@ -128,7 +128,7 @@ feature -- Access: CGI environment variables
|
|
|
|
|
|
|
|
|
|
feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
|
|
|
|
|
auth_type: detachable READABLE_STRING_8
|
|
|
|
|
auth_type: detachable READABLE_STRING_32
|
|
|
|
|
-- This variable is specific to requests made via the "http"
|
|
|
|
|
-- scheme.
|
|
|
|
|
--
|
|
|
|
|
@@ -150,7 +150,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
content_length: detachable READABLE_STRING_8
|
|
|
|
|
content_length: detachable READABLE_STRING_32
|
|
|
|
|
-- This metavariable is set to the size of the message-body
|
|
|
|
|
-- entity attached to the request, if any, in decimal number of
|
|
|
|
|
-- octets. If no data are attached, then this metavariable is
|
|
|
|
|
@@ -170,7 +170,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
content_type: detachable READABLE_STRING_8
|
|
|
|
|
content_type: detachable READABLE_STRING_32
|
|
|
|
|
-- If the request includes a message-body, CONTENT_TYPE is set to
|
|
|
|
|
-- the Internet Media Type [9] of the attached entity if the type
|
|
|
|
|
-- was provided via a "Content-type" field in the request header,
|
|
|
|
|
@@ -213,7 +213,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
gateway_interface: READABLE_STRING_8
|
|
|
|
|
gateway_interface: READABLE_STRING_32
|
|
|
|
|
-- This metavariable is set to the dialect of CGI being used by
|
|
|
|
|
-- the server to communicate with the script. Syntax:
|
|
|
|
|
--
|
|
|
|
|
@@ -246,7 +246,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
path_info: READABLE_STRING_8
|
|
|
|
|
path_info: READABLE_STRING_32
|
|
|
|
|
-- The PATH_INFO metavariable specifies a path to be interpreted
|
|
|
|
|
-- by the CGI script. It identifies the resource or sub-resource
|
|
|
|
|
-- to be returned by the CGI script, and it is derived from the
|
|
|
|
|
@@ -277,7 +277,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
path_translated: detachable READABLE_STRING_8
|
|
|
|
|
path_translated: detachable READABLE_STRING_32
|
|
|
|
|
-- PATH_TRANSLATED is derived by taking any path-info component
|
|
|
|
|
-- of the request URI (see section 6.1.6), decoding it (see
|
|
|
|
|
-- section 3.1), parsing it as a URI in its own right, and
|
|
|
|
|
@@ -323,7 +323,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
query_string: READABLE_STRING_8
|
|
|
|
|
query_string: READABLE_STRING_32
|
|
|
|
|
-- A URL-encoded string; the <query> part of the Script-URI. (See
|
|
|
|
|
-- section 3.2.)
|
|
|
|
|
--
|
|
|
|
|
@@ -340,7 +340,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
remote_addr: READABLE_STRING_8
|
|
|
|
|
remote_addr: READABLE_STRING_32
|
|
|
|
|
-- The IP address of the client sending the request to the
|
|
|
|
|
-- server. This is not necessarily that of the user agent (such
|
|
|
|
|
-- as if the request came through a proxy).
|
|
|
|
|
@@ -355,7 +355,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
remote_host: detachable READABLE_STRING_8
|
|
|
|
|
remote_host: detachable READABLE_STRING_32
|
|
|
|
|
-- The fully qualified domain name of the client sending the
|
|
|
|
|
-- request to the server, if available, otherwise NULL. (See
|
|
|
|
|
-- section 6.1.9.) Fully qualified domain names take the form as
|
|
|
|
|
@@ -366,7 +366,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
remote_ident: detachable READABLE_STRING_8
|
|
|
|
|
remote_ident: detachable READABLE_STRING_32
|
|
|
|
|
-- The identity information reported about the connection by a
|
|
|
|
|
-- RFC 1413 [11] request to the remote agent, if available.
|
|
|
|
|
-- Servers MAY choose not to support this feature, or not to
|
|
|
|
|
@@ -382,7 +382,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
remote_user: detachable READABLE_STRING_8
|
|
|
|
|
remote_user: detachable READABLE_STRING_32
|
|
|
|
|
-- If the request required authentication using the "Basic"
|
|
|
|
|
-- mechanism (i.e., the AUTH_TYPE metavariable is set to
|
|
|
|
|
-- "Basic"), then the value of the REMOTE_USER metavariable is
|
|
|
|
|
@@ -398,7 +398,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
request_method: READABLE_STRING_8
|
|
|
|
|
request_method: READABLE_STRING_32
|
|
|
|
|
-- The REQUEST_METHOD metavariable is set to the method with
|
|
|
|
|
-- which the request was made, as described in section 5.1.1 of
|
|
|
|
|
-- the HTTP/1.0 specification [3] and section 5.1.1 of the
|
|
|
|
|
@@ -419,7 +419,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
script_name: READABLE_STRING_8
|
|
|
|
|
script_name: READABLE_STRING_32
|
|
|
|
|
-- The SCRIPT_NAME metavariable is set to a URL path that could
|
|
|
|
|
-- identify the CGI script (rather than the script's output). The
|
|
|
|
|
-- syntax and semantics are identical to a decoded HTTP URL
|
|
|
|
|
@@ -437,7 +437,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
server_name: READABLE_STRING_8
|
|
|
|
|
server_name: READABLE_STRING_32
|
|
|
|
|
-- The SERVER_NAME metavariable is set to the name of the server,
|
|
|
|
|
-- as derived from the <host> part of the Script-URI (see section
|
|
|
|
|
-- 3.2).
|
|
|
|
|
@@ -463,7 +463,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
server_protocol: READABLE_STRING_8
|
|
|
|
|
server_protocol: READABLE_STRING_32
|
|
|
|
|
-- The SERVER_PROTOCOL metavariable is set to the name and
|
|
|
|
|
-- revision of the information protocol with which the request
|
|
|
|
|
-- arrived. This is not necessarily the same as the protocol
|
|
|
|
|
@@ -491,7 +491,7 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
server_software: READABLE_STRING_8
|
|
|
|
|
server_software: READABLE_STRING_32
|
|
|
|
|
-- The SERVER_SOFTWARE metavariable is set to the name and
|
|
|
|
|
-- version of the information server software answering the
|
|
|
|
|
-- request (and running the gateway).
|
|
|
|
|
@@ -506,42 +506,42 @@ feature -- Common Gateway Interface - 1.1 8 January 1996
|
|
|
|
|
|
|
|
|
|
feature -- HTTP_*
|
|
|
|
|
|
|
|
|
|
http_accept: detachable READABLE_STRING_8
|
|
|
|
|
http_accept: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Accept: header from the current request, if there is one.
|
|
|
|
|
-- Example: 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_accept_charset: detachable READABLE_STRING_8
|
|
|
|
|
http_accept_charset: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Accept-Charset: header from the current request, if there is one.
|
|
|
|
|
-- Example: 'iso-8859-1,*,utf-8'.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_accept_encoding: detachable READABLE_STRING_8
|
|
|
|
|
http_accept_encoding: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Accept-Encoding: header from the current request, if there is one.
|
|
|
|
|
-- Example: 'gzip'.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_accept_language: detachable READABLE_STRING_8
|
|
|
|
|
http_accept_language: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Accept-Language: header from the current request, if there is one.
|
|
|
|
|
-- Example: 'en'.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_connection: detachable READABLE_STRING_8
|
|
|
|
|
http_connection: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Connection: header from the current request, if there is one.
|
|
|
|
|
-- Example: 'Keep-Alive'.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_host: detachable READABLE_STRING_8
|
|
|
|
|
http_host: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Host: header from the current request, if there is one.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_referer: detachable READABLE_STRING_8
|
|
|
|
|
http_referer: detachable READABLE_STRING_32
|
|
|
|
|
-- The address of the page (if any) which referred the user agent to the current page.
|
|
|
|
|
-- This is set by the user agent.
|
|
|
|
|
-- Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature.
|
|
|
|
|
@@ -549,7 +549,7 @@ feature -- HTTP_*
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_user_agent: detachable READABLE_STRING_8
|
|
|
|
|
http_user_agent: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the User-Agent: header from the current request, if there is one.
|
|
|
|
|
-- This is a string denoting the user agent being which is accessing the page.
|
|
|
|
|
-- A typical example is: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586).
|
|
|
|
|
@@ -558,26 +558,26 @@ feature -- HTTP_*
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
http_authorization: detachable READABLE_STRING_8
|
|
|
|
|
http_authorization: detachable READABLE_STRING_32
|
|
|
|
|
-- Contents of the Authorization: header from the current request, if there is one.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
feature -- Extra CGI environment variables
|
|
|
|
|
|
|
|
|
|
request_uri: READABLE_STRING_8
|
|
|
|
|
request_uri: READABLE_STRING_32
|
|
|
|
|
-- The URI which was given in order to access this page; for instance, '/index.html'.
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
orig_path_info: detachable READABLE_STRING_8
|
|
|
|
|
orig_path_info: detachable READABLE_STRING_32
|
|
|
|
|
-- Original version of `path_info' before processed by Current environment
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--feature -- Access: execution variables
|
|
|
|
|
|
|
|
|
|
-- execution_variables: EWSGI_VARIABLES [STRING_32]
|
|
|
|
|
-- execution_variables: WGI_VARIABLES [STRING_32]
|
|
|
|
|
-- -- Execution variables set by the application
|
|
|
|
|
-- deferred
|
|
|
|
|
-- end
|
|
|
|
|
@@ -617,7 +617,7 @@ feature -- Form fields and related
|
|
|
|
|
deferred
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
uploaded_files: HASH_TABLE [EWSGI_UPLOADED_FILE_DATA, READABLE_STRING_GENERAL]
|
|
|
|
|
uploaded_files: HASH_TABLE [WGI_UPLOADED_FILE_DATA, READABLE_STRING_GENERAL]
|
|
|
|
|
-- Table of uploaded files information
|
|
|
|
|
--| name: original path from the user
|
|
|
|
|
--| type: content type
|
|
|
|
|
@@ -689,10 +689,10 @@ invariant
|
|
|
|
|
query_string_attached: query_string /= Void
|
|
|
|
|
remote_addr_attached: remote_addr /= Void
|
|
|
|
|
|
|
|
|
|
same_orig_path_info: orig_path_info ~ meta_variable ({EWSGI_META_NAMES}.orig_path_info)
|
|
|
|
|
same_path_info: path_info ~ meta_variable ({EWSGI_META_NAMES}.path_info)
|
|
|
|
|
same_orig_path_info: orig_path_info ~ meta_variable ({WGI_META_NAMES}.orig_path_info)
|
|
|
|
|
same_path_info: path_info ~ meta_variable ({WGI_META_NAMES}.path_info)
|
|
|
|
|
|
|
|
|
|
path_info_identical: path_info ~ meta_variable ({EWSGI_META_NAMES}.path_info)
|
|
|
|
|
path_info_identical: path_info ~ meta_variable ({WGI_META_NAMES}.path_info)
|
|
|
|
|
|
|
|
|
|
note
|
|
|
|
|
copyright: "2011-2011, Eiffel Software and others"
|