- Improvement about web form manipulation (remove a field, set a text value to input fields by name, ...)
- Improved web form html generation, especially for select and type checkbox
- Updated the date input field interface with a new set_date_value .
File response:
- "application/force-download" is not a standard MIME content type, so use "application_octet_stream" instead as default.
Standalone connector:
- Added expected creation procedure for the service launcher.
- Added new "secure_port" configuration variable, for SSL standalone service.
This way, if `is_secure` is True, the server will use `secure_port` (overrides `port` value).
Date:
- Improved support for RFC 3339 (a profile of ISO 8601)
Removed obsolete and warnings:
- removed usage of FILE_NAME
- updated code to avoid implicit conversion from STRING_32 to STRING_8
- avoid uneed conversion to STRING_8 (when possible)
Factorized the implementation in WGI_RESCUE_EXECUTION, and now by redefining the `WGI_EXECUTION.execute_rescue (...)` procedure, it is possible to have a custom response on such rescued execution.
- PATH_INFO is percent decoded but still utf-8 encoded,
this is available via WGI.path_info and WSF_REQUEST.utf_8_path_info.
- Added WSF_REQUEST.percent_encoded_path_info
- and WSF_REQUEST.path_info remains the unicode value for PATH_INFO
Added cgi_variables: WGI_REQUEST_CGI_VARIABLES to have a simple and quick view on CGI variables
Added execution_variables to be able to iterate on execution variables.
Added PERCENT_ENCODER.percent_decoded_utf_8_string
Improved the WSF_DEBUG_HANDLER to provide more information thanks to WSF_DEBUG_INFORMATION object.
Use STRING_TABLE, and better interface of READABLE_STRING_GENERAL,
this way the signature are more flexible for unicode keys.
Note that for now, unicode environment variables are not correctly supported in WGI
especially the value of the variables.
Any layer on top of EWGSI suffers from the same issues.
Better exception handling
+ code cleaning
Changed semantic of put_header_lines and add_header_lines,
Now the arguments are iterable of string (i.e the header line)
The previous features were not used, and were not well named.
So we removed them, and reused the names for adpated implementation.
i.e allow to change the status code and the header as long as no content is really sent back to the client
This requires an addition WGI_RESPONSE, new post_commit_action: PROCEDURE [...]
According to the specification, the value of the response header
Access-Control-Allow-Headers must contain at least all the values of the
request header Access-Control-Request-Headers to be considered a valid request.
Before this commit, only the Authorization value was present, which is enough
for Firefox but not for Chrome.
This should now work as expected.
Cleaned the WGI_CHUNKED_INPUT_STREAM and provides access to last extension, last trailer, ...
Improved WSF_TRACE_RESPONSE to support tracing chunked input back to the client.
Merged REQUEST.input and REQUEST.chunked_input
Now REQUEST.input handles directly the chunked transfer encoding, or the non chunked.
Kept REQUEST.is_chunked_input since it matters that Content-Length is 0 even if there are input (chunked) data.