Provided a way to report cURL error code back to http_client, via HTTP_CLIENT_RESPONSE
This commit is contained in:
@@ -27,6 +27,8 @@ feature -- Status
|
|||||||
error_occurred: BOOLEAN
|
error_occurred: BOOLEAN
|
||||||
-- Error occurred during request
|
-- Error occurred during request
|
||||||
|
|
||||||
|
error_message: detachable READABLE_STRING_8
|
||||||
|
|
||||||
feature {HTTP_CLIENT_REQUEST} -- Status setting
|
feature {HTTP_CLIENT_REQUEST} -- Status setting
|
||||||
|
|
||||||
set_error_occurred (b: BOOLEAN)
|
set_error_occurred (b: BOOLEAN)
|
||||||
@@ -35,6 +37,13 @@ feature {HTTP_CLIENT_REQUEST} -- Status setting
|
|||||||
error_occurred := b
|
error_occurred := b
|
||||||
end
|
end
|
||||||
|
|
||||||
|
set_error_message (m: READABLE_STRING_8)
|
||||||
|
-- Set `error_message' to `m'
|
||||||
|
do
|
||||||
|
set_error_occurred (True)
|
||||||
|
error_message := m
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
url: STRING_8
|
url: STRING_8
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ feature -- Execution
|
|||||||
Result.status := response_status_code (curl_easy, curl_handle)
|
Result.status := response_status_code (curl_easy, curl_handle)
|
||||||
set_header_and_body_to (l_curl_string.string, Result)
|
set_header_and_body_to (l_curl_string.string, Result)
|
||||||
else
|
else
|
||||||
Result.set_error_occurred (True)
|
Result.set_error_message ("Error: cURL Error[" + l_result.out + "]")
|
||||||
Result.status := response_status_code (curl_easy, curl_handle)
|
Result.status := response_status_code (curl_easy, curl_handle)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ feature -- Execution
|
|||||||
curl_easy.cleanup (curl_handle)
|
curl_easy.cleanup (curl_handle)
|
||||||
else
|
else
|
||||||
create Result.make (url)
|
create Result.make (url)
|
||||||
Result.set_error_occurred (True)
|
Result.set_error_message ("Error: internal error")
|
||||||
end
|
end
|
||||||
|
|
||||||
--| Remaining cleaning
|
--| Remaining cleaning
|
||||||
@@ -339,7 +339,11 @@ feature {NONE} -- Implementation
|
|||||||
--| ex: HTTP/1.1 200 OK%R%N
|
--| ex: HTTP/1.1 200 OK%R%N
|
||||||
l_start := l_start + 2
|
l_start := l_start + 2
|
||||||
end
|
end
|
||||||
if l_start < a_source.count and then a_source[l_start] = '%R' and a_source[l_start + 1] = '%N' then
|
if l_start = 0 or else
|
||||||
|
(l_start < a_source.count and then
|
||||||
|
a_source[l_start] = '%R' and a_source[l_start + 1] = '%N'
|
||||||
|
)
|
||||||
|
then
|
||||||
res.set_body (a_source)
|
res.set_body (a_source)
|
||||||
else
|
else
|
||||||
pos := a_source.substring_index ("%R%N%R%N", l_start)
|
pos := a_source.substring_index ("%R%N%R%N", l_start)
|
||||||
|
|||||||
Reference in New Issue
Block a user