Removed HTTP_CLIENT_SESSION.post_multipart .. because it was not doing what the name might evoque
Restrict export of HTTP_CLIENT_REQUEST_CONTEXT.upload_data and upload_filename (and related) to .._SESSION and .._REQUEST this is mainly internal data, and is more about implementation than interface
This commit is contained in:
@@ -62,18 +62,20 @@ feature -- Access
|
|||||||
form_parameters: HASH_TABLE [READABLE_STRING_32, READABLE_STRING_32]
|
form_parameters: HASH_TABLE [READABLE_STRING_32, READABLE_STRING_32]
|
||||||
-- Form parameters
|
-- Form parameters
|
||||||
|
|
||||||
|
proxy: detachable TUPLE [host: READABLE_STRING_8; port: INTEGER]
|
||||||
|
-- Optional proxy, see {HTTP_CLIENT_SESSION}.proxy
|
||||||
|
|
||||||
|
feature {HTTP_CLIENT_REQUEST, HTTP_CLIENT_SESSION} -- Internal access
|
||||||
|
|
||||||
upload_data: detachable READABLE_STRING_8
|
upload_data: detachable READABLE_STRING_8
|
||||||
-- Upload data
|
-- Upload data
|
||||||
--| Note: make sure to precise the Content-Type header
|
--| Note: make sure to precise the Content-Type header
|
||||||
|
|
||||||
upload_filename: detachable READABLE_STRING_8
|
upload_filename: detachable READABLE_STRING_8
|
||||||
-- Upload data read from `upload_filename'
|
-- Upload data read from `upload_filename'
|
||||||
--| Note: make sure to precise the Content-Type header
|
--| Note: make sure to precise the Content-Type header
|
||||||
|
|
||||||
proxy: detachable TUPLE [host: READABLE_STRING_8; port: INTEGER]
|
feature {HTTP_CLIENT_REQUEST, HTTP_CLIENT_SESSION} -- Status report
|
||||||
-- Optional proxy, see {HTTP_CLIENT_SESSION}.proxy
|
|
||||||
|
|
||||||
feature -- Status report
|
|
||||||
|
|
||||||
has_form_data: BOOLEAN
|
has_form_data: BOOLEAN
|
||||||
do
|
do
|
||||||
@@ -112,6 +114,19 @@ feature -- Element change
|
|||||||
credentials_required := b
|
credentials_required := b
|
||||||
end
|
end
|
||||||
|
|
||||||
|
feature -- Status setting
|
||||||
|
|
||||||
|
set_proxy (a_host: detachable READABLE_STRING_8; a_port: INTEGER)
|
||||||
|
do
|
||||||
|
if a_host = Void then
|
||||||
|
proxy := Void
|
||||||
|
else
|
||||||
|
proxy := [a_host, a_port]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {HTTP_CLIENT_REQUEST, HTTP_CLIENT_SESSION} -- Internal Element change
|
||||||
|
|
||||||
set_upload_data (a_data: like upload_data)
|
set_upload_data (a_data: like upload_data)
|
||||||
require
|
require
|
||||||
has_no_upload_data: not has_upload_data
|
has_no_upload_data: not has_upload_data
|
||||||
@@ -126,15 +141,6 @@ feature -- Element change
|
|||||||
upload_filename := a_fn
|
upload_filename := a_fn
|
||||||
end
|
end
|
||||||
|
|
||||||
set_proxy (a_host: detachable READABLE_STRING_8; a_port: INTEGER)
|
|
||||||
do
|
|
||||||
if a_host = Void then
|
|
||||||
proxy := Void
|
|
||||||
else
|
|
||||||
proxy := [a_host, a_port]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Conversion helpers
|
feature -- Conversion helpers
|
||||||
|
|
||||||
query_parameters_to_url_encoded_string: STRING_8
|
query_parameters_to_url_encoded_string: STRING_8
|
||||||
|
|||||||
@@ -98,12 +98,6 @@ feature -- Basic operation
|
|||||||
deferred
|
deferred
|
||||||
end
|
end
|
||||||
|
|
||||||
post_multipart (a_path: READABLE_STRING_8; ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8; fn: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
|
||||||
-- Response for POST request based on Current, `a_path' and `ctx'
|
|
||||||
-- with `data' and uploaded file `fn'
|
|
||||||
deferred
|
|
||||||
end
|
|
||||||
|
|
||||||
put (a_path: READABLE_STRING_8; ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
put (a_path: READABLE_STRING_8; ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
||||||
-- Response for PUT request based on Current, `a_path' and `ctx'
|
-- Response for PUT request based on Current, `a_path' and `ctx'
|
||||||
-- with input `data'
|
-- with input `data'
|
||||||
|
|||||||
@@ -43,34 +43,12 @@ feature -- Basic operation
|
|||||||
|
|
||||||
post (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
post (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
||||||
do
|
do
|
||||||
Result := post_multipart (a_path, a_ctx, data, Void)
|
Result := impl_post (a_path, a_ctx, data, Void)
|
||||||
end
|
end
|
||||||
|
|
||||||
post_file (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; fn: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
post_file (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; fn: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
||||||
do
|
do
|
||||||
Result := post_multipart (a_path, a_ctx, Void, fn)
|
Result := impl_post (a_path, a_ctx, Void, fn)
|
||||||
end
|
|
||||||
|
|
||||||
post_multipart (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8; fn: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
|
||||||
local
|
|
||||||
req: HTTP_CLIENT_REQUEST
|
|
||||||
ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT
|
|
||||||
do
|
|
||||||
ctx := a_ctx
|
|
||||||
if data /= Void then
|
|
||||||
if ctx = Void then
|
|
||||||
create ctx.make
|
|
||||||
end
|
|
||||||
ctx.set_upload_data (data)
|
|
||||||
end
|
|
||||||
if fn /= Void then
|
|
||||||
if ctx = Void then
|
|
||||||
create ctx.make
|
|
||||||
end
|
|
||||||
ctx.set_upload_filename (fn)
|
|
||||||
end
|
|
||||||
create {LIBCURL_HTTP_CLIENT_REQUEST} req.make (base_url + a_path, "POST", Current, ctx)
|
|
||||||
Result := req.execute
|
|
||||||
end
|
end
|
||||||
|
|
||||||
put (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
put (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
||||||
@@ -113,6 +91,30 @@ feature -- Basic operation
|
|||||||
Result := req.execute
|
Result := req.execute
|
||||||
end
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
|
impl_post (a_path: READABLE_STRING_8; a_ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; data: detachable READABLE_STRING_8; fn: detachable READABLE_STRING_8): HTTP_CLIENT_RESPONSE
|
||||||
|
local
|
||||||
|
req: HTTP_CLIENT_REQUEST
|
||||||
|
ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT
|
||||||
|
do
|
||||||
|
ctx := a_ctx
|
||||||
|
if data /= Void then
|
||||||
|
if ctx = Void then
|
||||||
|
create ctx.make
|
||||||
|
end
|
||||||
|
ctx.set_upload_data (data)
|
||||||
|
end
|
||||||
|
if fn /= Void then
|
||||||
|
if ctx = Void then
|
||||||
|
create ctx.make
|
||||||
|
end
|
||||||
|
ctx.set_upload_filename (fn)
|
||||||
|
end
|
||||||
|
create {LIBCURL_HTTP_CLIENT_REQUEST} req.make (base_url + a_path, "POST", Current, ctx)
|
||||||
|
Result := req.execute
|
||||||
|
end
|
||||||
|
|
||||||
feature {LIBCURL_HTTP_CLIENT_REQUEST} -- Curl implementation
|
feature {LIBCURL_HTTP_CLIENT_REQUEST} -- Curl implementation
|
||||||
|
|
||||||
curl: CURL_EXTERNALS
|
curl: CURL_EXTERNALS
|
||||||
|
|||||||
Reference in New Issue
Block a user