Added Google custom search library Added HTTP client extension libaray Updated demo example to use the Module Custom Search
100 lines
2.5 KiB
Plaintext
100 lines
2.5 KiB
Plaintext
note
|
|
description: "Wrapper class for HTTP_CLIENT_SESSION"
|
|
date: "$Date: 2015-10-08 07:51:29 -0300 (ju., 08 oct. 2015) $"
|
|
revision: "$Revision: 97966 $"
|
|
|
|
deferred class
|
|
HTTP_CLIENT_HELPER
|
|
|
|
feature -- Access
|
|
|
|
http_session: detachable HTTP_CLIENT_SESSION
|
|
|
|
get_http_session
|
|
local
|
|
h: LIBCURL_HTTP_CLIENT
|
|
b: like base_url
|
|
do
|
|
create h.make
|
|
b := base_url
|
|
if b = Void then
|
|
b := ""
|
|
end
|
|
if attached {HTTP_CLIENT_SESSION} h.new_session (base_url) as sess then
|
|
http_session := sess
|
|
sess.set_timeout (-1)
|
|
sess.set_connect_timeout (-1)
|
|
sess.set_is_insecure (True)
|
|
sess.set_any_auth_type
|
|
debug ("curl")
|
|
sess.set_is_debug (True)
|
|
end
|
|
debug ("proxy8888")
|
|
sess.set_proxy ("127.0.0.1", 8888) --| inspect traffic with http://www.fiddler2.com/
|
|
end
|
|
end
|
|
end
|
|
|
|
feature -- HTTP client helpers
|
|
|
|
execute_get (command_name: READABLE_STRING_8): detachable HTTP_CLIENT_RESPONSE
|
|
do
|
|
get_http_session
|
|
if attached http_session as sess then
|
|
Result := sess.get (command_name, context_executor)
|
|
end
|
|
end
|
|
|
|
execute_post (command_name: READABLE_STRING_8; data: detachable READABLE_STRING_8): detachable HTTP_CLIENT_RESPONSE
|
|
do
|
|
get_http_session
|
|
if attached http_session as sess then
|
|
Result := sess.post (command_name, context_executor, data)
|
|
end
|
|
end
|
|
|
|
execute_delete (command_name: READABLE_STRING_8): detachable HTTP_CLIENT_RESPONSE
|
|
do
|
|
get_http_session
|
|
if attached http_session as sess then
|
|
Result := sess.delete (command_name, context_executor)
|
|
end
|
|
end
|
|
|
|
execute_put (command_name: READABLE_STRING_8; data: detachable READABLE_STRING_8): detachable HTTP_CLIENT_RESPONSE
|
|
do
|
|
get_http_session
|
|
if attached http_session as sess then
|
|
Result := sess.put (command_name, context_executor, data)
|
|
end
|
|
end
|
|
|
|
execute_patch (command_name: READABLE_STRING_8; data: detachable READABLE_STRING_8): detachable HTTP_CLIENT_RESPONSE
|
|
do
|
|
get_http_session
|
|
if attached http_session as sess then
|
|
Result := sess.patch (command_name, context_executor, data)
|
|
end
|
|
end
|
|
|
|
context_executor: HTTP_CLIENT_REQUEST_CONTEXT
|
|
-- request context for each request
|
|
once
|
|
create Result.make
|
|
end
|
|
|
|
base_url: STRING;
|
|
|
|
note
|
|
copyright: "2011-2015 Javier Velilla, 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
|