Nino connector:

- fixed issue related to `ready_for_reading'  now use the `try_...' variant
 - for now Nino does not support persistent connection, then we have to respond with "Connection: close"

REQUEST_FILE_SYSTEM_HANDLER:
 - added not_found_handler and access_denied_handler, so that the user can customize related response

WSF_REQUEST and WSF_VALUE:
 - modified how uploaded file are handled, fixed various issues, and added WSF_UPLOADED_FILE (it is a WSF_VALUE)

WSF_VALUE:
 - added change_name (a_name: like name)
 - added url_encoded_name to other WSF_values

WSF_REQUEST:
 - added `destroy' to perform end of request cleaning (such as deleting temp uploaded files)
 - renamed `raw_post_data_recorded' as `raw_input_data_recorded', and related feature
 - do not store the RAW_POST_DATA in meta variable anymore, but in WSF_REQUEST.raw_input_data is asked

Added WSF_HTML_PAGE_RESPONSE to help user

WSF_REPONSE.redirect_... now use "temp_redirect" as default
  instead of "moved_permanently" which is specific usage

Removed many obsolete features.
This commit is contained in:
Jocelyn Fiat
2012-03-13 18:07:28 +01:00
parent c5fe539acb
commit 5abc79b7c3
33 changed files with 993 additions and 306 deletions

View File

@@ -23,20 +23,18 @@ feature {NONE} -- Implementation
end
end
read_input_data (a_input: WGI_INPUT_STREAM; nb: NATURAL_64): READABLE_STRING_8
read_input_data (a_input: WGI_INPUT_STREAM; nb: NATURAL_64): STRING_8
-- All data from input form
local
nb32: INTEGER
n64: NATURAL_64
n: INTEGER
t: STRING
s: STRING_8
do
from
n64 := nb
nb32 := n64.to_integer_32
create s.make (nb32)
Result := s
create Result.make (nb32)
n := nb32
if n > 1_024 then
n := 1_024
@@ -46,7 +44,7 @@ feature {NONE} -- Implementation
loop
a_input.read_string (n)
t := a_input.last_string
s.append_string (t)
Result.append_string (t)
if t.count < n then
n64 := 0
else
@@ -55,7 +53,12 @@ feature {NONE} -- Implementation
end
end
add_value_to_table (a_name: READABLE_STRING_8; a_value: READABLE_STRING_8; a_table: HASH_TABLE [WSF_VALUE, READABLE_STRING_32])
add_string_value_to_table (a_name: READABLE_STRING_8; a_value: READABLE_STRING_8; a_table: HASH_TABLE [WSF_VALUE, READABLE_STRING_32])
do
add_value_to_table (a_name, new_string_value (a_name, a_value), a_table)
end
add_value_to_table (a_name: READABLE_STRING_8; a_value: WSF_VALUE; a_table: HASH_TABLE [WSF_VALUE, READABLE_STRING_32])
local
l_decoded_name: STRING_32
v: detachable WSF_VALUE
@@ -121,13 +124,15 @@ feature {NONE} -- Implementation
--| Ignore bad value
end
end
tb.add_value (new_string_value (n, a_value), k)
a_value.change_name (n)
tb.add_value (a_value, k)
else
--| Missing end bracket
end
end
if v = Void then
v := new_string_value (a_name, a_value)
a_value.change_name (a_name)
v := a_value
end
if a_table.has_key (v.name) and then attached a_table.found_item as l_existing_value then
if tb /= Void then