105 lines
3.5 KiB
Plaintext
105 lines
3.5 KiB
Plaintext
note
|
|
description: "[
|
|
|
|
Safe method: HEAD, GET, TRACE, OPTIONS
|
|
Intended only for information retrieval, should not change state of server
|
|
|
|
|
|
See http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods
|
|
]"
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
HTTP_REQUEST_METHODS
|
|
|
|
feature -- Query
|
|
|
|
method (m: READABLE_STRING_8): READABLE_STRING_8
|
|
-- Return the associated constant object if any
|
|
-- otherwise the uppercased version of `m'
|
|
do
|
|
if m.is_case_insensitive_equal (method_get) then
|
|
Result := method_get
|
|
elseif m.is_case_insensitive_equal (method_post) then
|
|
Result := method_post
|
|
elseif m.is_case_insensitive_equal (method_head) then
|
|
Result := method_head
|
|
elseif m.is_case_insensitive_equal (method_trace) then
|
|
Result := method_trace
|
|
elseif m.is_case_insensitive_equal (method_options) then
|
|
Result := method_options
|
|
elseif m.is_case_insensitive_equal (method_put) then
|
|
Result := method_put
|
|
elseif m.is_case_insensitive_equal (method_delete) then
|
|
Result := method_delete
|
|
elseif m.is_case_insensitive_equal (method_connect) then
|
|
Result := method_connect
|
|
elseif m.is_case_insensitive_equal (method_patch) then
|
|
Result := method_patch
|
|
else
|
|
Result := m.as_upper
|
|
end
|
|
end
|
|
|
|
feature -- Safe Methods
|
|
|
|
method_head: STRING = "HEAD"
|
|
-- Asks for the response identical to the one that would correspond
|
|
-- to a GET request, but without the response body.
|
|
-- This is useful for retrieving meta-information written in response headers,
|
|
-- without having to transport the entire content.
|
|
|
|
method_get: STRING = "GET"
|
|
-- Requests a representation of the specified resource.
|
|
-- Requests using GET (and a few other HTTP methods)
|
|
-- "SHOULD NOT have the significance of taking an action other than retrieval"
|
|
-- The W3C has published guidance principles on this distinction, saying,
|
|
-- "Web application design should be informed by the above principles,
|
|
-- but also by the relevant limitations."
|
|
|
|
method_trace: STRING = "TRACE"
|
|
-- Echoes back the received request, so that a client can see what
|
|
-- (if any) changes or additions have been made by intermediate servers.
|
|
|
|
method_options: STRING = "OPTIONS"
|
|
-- Returns the HTTP methods that the server supports for specified URL.
|
|
-- This can be used to check the functionality of a web server by requesting '*'
|
|
-- instead of a specific resource.
|
|
|
|
feature -- Methods intented for actions
|
|
|
|
method_post: STRING = "POST"
|
|
-- Submits data to be processed (e.g., from an HTML form) to the identified resource.
|
|
-- The data is included in the body of the request.
|
|
-- This may result in the creation of a new resource or the updates of existing
|
|
-- resources or both.
|
|
|
|
method_put: STRING = "PUT"
|
|
-- Uploads a representation of the specified resource.
|
|
|
|
method_delete: STRING = "DELETE"
|
|
-- Deletes the specified resource.
|
|
|
|
feature -- Other Methods
|
|
|
|
method_connect: STRING = "CONNECT"
|
|
-- Converts the request connection to a transparent TCP/IP tunnel,
|
|
-- usually to facilitate SSL-encrypted communication (HTTPS) through
|
|
-- an unencrypted HTTP proxy.
|
|
|
|
method_patch: STRING = "PATCH"
|
|
-- Is used to apply partial modifications to a resource
|
|
|
|
note
|
|
copyright: "2011-2012, Jocelyn Fiat, Eiffel Software and others"
|
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
|
source: "[
|
|
Eiffel Software
|
|
5949 Hollister Ave., Goleta, CA 93117 USA
|
|
Telephone 805-685-1006, Fax 805-685-6869
|
|
Website http://www.eiffel.com
|
|
Customer support http://support.eiffel.com
|
|
]"
|
|
end
|