Improved the WSF_PAGE_RESPONSE to be more flexible and allow to change some values as expected.

This commit is contained in:
Jocelyn Fiat
2012-02-07 15:49:02 +01:00
parent 69bc4d568c
commit e21da4a591
2 changed files with 36 additions and 12 deletions

View File

@@ -41,6 +41,40 @@ feature -- Header
body: detachable STRING_8
feature -- Element change
put_header (a_status_code: INTEGER; a_headers: detachable ARRAY [TUPLE [key: READABLE_STRING_8; value: READABLE_STRING_8]])
-- Send headers with status `a_status', and headers from `a_headers'
do
set_status_code (a_status_code)
if a_headers /= Void then
header.append_array (a_headers)
end
end
set_status_code (c: like status_code)
do
status_code := c
end
set_body (a_body: like body)
do
body := a_body
end
put_string (a_string: READABLE_STRING_8)
-- Append `a_string' to `body'
local
l_body: like body
do
l_body := body
if l_body = Void then
create l_body.make (a_string.count)
set_body (l_body)
end
l_body.append (a_string)
end
feature -- Output
send_to (res: WSF_RESPONSE)

View File

@@ -98,22 +98,12 @@ feature -- Header output operation
header_not_committed: not header_committed
local
h: HTTP_HEADER
i,n: INTEGER
do
set_status_code (a_status_code)
create h.make
if a_headers /= Void then
from
i := a_headers.lower
n := a_headers.upper
until
i > n
loop
h.put_header_key_value (a_headers[i].key, a_headers[i].value)
i := i + 1
end
create h.make_from_array (a_headers)
wgi_response.put_header_text (h.string)
end
wgi_response.put_header_text (h.string)
ensure
header_committed: header_committed
status_set: status_is_set