Fixed HTTP client callers
This commit is contained in:
@@ -29,10 +29,9 @@ feature {NONE} -- Initialization
|
||||
|
||||
-- Read the Order
|
||||
print ("%N Read Order %N")
|
||||
l_location := resp.headers.at ("Location")
|
||||
l_location := resp.header ("Location")
|
||||
resp := read_order (sess, l_location)
|
||||
|
||||
|
||||
-- Update the Order
|
||||
|
||||
if attached resp.body as l_body then
|
||||
@@ -44,65 +43,49 @@ feature {NONE} -- Initialization
|
||||
end
|
||||
|
||||
update_order ( sess: HTTP_CLIENT_SESSION; uri : detachable READABLE_STRING_8; a_body : STRING) : HTTP_CLIENT_RESPONSE
|
||||
local
|
||||
l_headers: HASH_TABLE [READABLE_STRING_8,READABLE_STRING_8]
|
||||
do
|
||||
create Result.make
|
||||
if attached uri as l_uri then
|
||||
sess.set_base_url (l_uri)
|
||||
Result := sess.put ("", Void, a_body )
|
||||
if attached Result as r then
|
||||
-- Show headers
|
||||
l_headers := r.headers
|
||||
from
|
||||
l_headers.start
|
||||
until
|
||||
l_headers.after
|
||||
across
|
||||
Result.headers as l_headers
|
||||
loop
|
||||
print (l_headers.key_for_iteration)
|
||||
print (l_headers.item.name)
|
||||
print (":")
|
||||
print (l_headers.item_for_iteration)
|
||||
l_headers.forth
|
||||
print (l_headers.item.value)
|
||||
io.put_new_line
|
||||
end
|
||||
|
||||
-- Show body
|
||||
print (r.body)
|
||||
print (Result.body)
|
||||
io.put_new_line
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
read_order ( sess: HTTP_CLIENT_SESSION; uri : detachable READABLE_STRING_8) : HTTP_CLIENT_RESPONSE
|
||||
local
|
||||
l_headers: HASH_TABLE [READABLE_STRING_8,READABLE_STRING_8]
|
||||
do
|
||||
create Result.make
|
||||
if attached uri as l_uri then
|
||||
sess.set_base_url (l_uri)
|
||||
Result := sess.get ("", Void)
|
||||
if attached Result as r then
|
||||
-- Show headers
|
||||
l_headers := r.headers
|
||||
from
|
||||
l_headers.start
|
||||
until
|
||||
l_headers.after
|
||||
across
|
||||
Result.headers as l_headers
|
||||
loop
|
||||
print (l_headers.key_for_iteration)
|
||||
print (l_headers.item.name)
|
||||
print (":")
|
||||
print (l_headers.item_for_iteration)
|
||||
l_headers.forth
|
||||
print (l_headers.item.value)
|
||||
io.put_new_line
|
||||
end
|
||||
|
||||
-- Show body
|
||||
print (r.body)
|
||||
print (Result.body)
|
||||
io.put_new_line
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -112,7 +95,6 @@ feature {NONE} -- Initialization
|
||||
j: JSON_PARSER
|
||||
id: detachable STRING
|
||||
context : HTTP_CLIENT_REQUEST_CONTEXT
|
||||
l_headers: HASH_TABLE [READABLE_STRING_8,READABLE_STRING_8]
|
||||
do
|
||||
s := "[
|
||||
{
|
||||
@@ -131,24 +113,19 @@ feature {NONE} -- Initialization
|
||||
create context.make
|
||||
context.headers.put ("application/json", "Content-Type")
|
||||
Result := sess.post ("/order", context, s)
|
||||
if attached Result as r then
|
||||
-- Show the Headers
|
||||
l_headers := r.headers
|
||||
from
|
||||
l_headers.start
|
||||
until
|
||||
l_headers.after
|
||||
across
|
||||
Result.headers as l_headers
|
||||
loop
|
||||
print (l_headers.key_for_iteration)
|
||||
print (l_headers.item.name)
|
||||
print (":")
|
||||
print (l_headers.item_for_iteration)
|
||||
l_headers.forth
|
||||
print (l_headers.item.value)
|
||||
io.put_new_line
|
||||
end
|
||||
|
||||
|
||||
-- Show the Response body
|
||||
if attached r.body as m then
|
||||
if attached Result.body as m then
|
||||
create j.make_parser (m)
|
||||
if j.is_parsed and attached j.parse_object as j_o then
|
||||
if attached {JSON_STRING} j_o.item ("id") as l_id then
|
||||
@@ -159,7 +136,6 @@ feature {NONE} -- Initialization
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
feature {NONE} -- Implementation
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
note
|
||||
description : "Objects that ..."
|
||||
author : "$Author$"
|
||||
description : "[
|
||||
Response retrieved by the client
|
||||
]"
|
||||
date : "$Date$"
|
||||
revision : "$Revision$"
|
||||
|
||||
@@ -59,7 +60,7 @@ feature -- Access
|
||||
across
|
||||
headers as hds
|
||||
loop
|
||||
k := hds.item.key
|
||||
k := hds.item.name
|
||||
if k.same_string (a_name) then
|
||||
v := hds.item.value
|
||||
if s = Void then
|
||||
@@ -73,7 +74,7 @@ feature -- Access
|
||||
Result := s
|
||||
end
|
||||
|
||||
headers: LIST [TUPLE [key: READABLE_STRING_8; value: READABLE_STRING_8]]
|
||||
headers: LIST [TUPLE [name: READABLE_STRING_8; value: READABLE_STRING_8]]
|
||||
-- Computed table of http headers of the response.
|
||||
--| We use a LIST since one might have multiple message-header fields with the same field-name
|
||||
--| Then the user can handle those case using default or custom concatenation
|
||||
|
||||
Reference in New Issue
Block a user