kept `key' as redirection, and also string as obsolete redirection.
Router: provide a way to pass the request methods without using manifest string, thanks to WSF_ROUTER_METHODS
so instead of using manifest array or manifest strings, just create an instance of WSF_ROUTER_METHODS
for convenience, WSF_ROUTER provides a few `methods_...' returning prebuilt WSF_ROUTER_METHODS objects
Improved code related to unicode handling in URL, and parameters (before the framework was doing too much)
Added WSF_STRING.is_empty
Improved HTML_ENCODER to be able to decode a STRING_8 or STRING_32 using general_decoded_string (s)
Improved tutorial example
Added precompilation for WSF library
Cosmetic (removed unused locals)
Added WSF_DEFAULT_RESPONSE_SERVICE
Added simple WSF_SERVICE_LAUNCHER_OPTIONS_FROM_INI class to load launch option from ini file.
Removed a few obsolete features
Better design to set the WSF_REQUEST.path_parameters
especially handle the case where the request goes trought more than one route (could be the case when using WSF_ROUTING_HANDLER)
Added WSF_REQUEST.path_parameter (a_name): detachable WSF_VALUE
- fill path_parameters using `import_raw_path_parameters"
when executing the route
- reset to previous value with reset_path_parameters (..),
just in case the request is executed via severals routes.
if True, this display verbose debug information in console
Implemented uploading of file for PUT and POST requests
Refactored LIBCURL_HTTP_CLIENT_REQUEST to free used pointer, and also ease extension of the class if needed.
Updated cURL library with addition of {CURL_EXTERNALS}.slist_free_all (..)
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.
This is a minor breaking change (but prior to the first release, so acceptable)
And then it is now possible to precise a custom reason phrase (useful for 4xx and 5xx response)
At the WSF_RESPONSE level, the status code is now sent only when the header are sent.
thus, it is possible to change the status code as long as no header is sent.
(in the future, we should also try to delay the sending of headers)
Removed WGI_RESPONSE.put_header_lines (..) which was not used, and WGI is not meant to provide such user friendly features
Now this is available directly on WSF_RESPONSE
and forget about the eventual parameters (charset, name) ...
note: it is possible to query meta_string_variable ("CONTENT_TYPE")
to get the complete Content-Type header
Added WSF_RESPONSE.put_character
Renamed WGI_OUTPUT_STREAM.put_character_8 as put_character to follow style of put_string (and not put_string_8)
Refactored the WSF_DEFAULT_SERVICE_LAUNCHER
Added WSF_DEFAULT_SERVICE to be more user friendly
Splitted the wsf/default/ libraries to have wsf/connector/... and being able to handle more than one connector in the same application
Replaced any internal call to WGI_RESPONSE.write () by the associated implementation (i.e output.put_string (...) )
Added WGI_OUTPUT_STREAM.put_crlf
Renamed WSF_RESPONSE.put_response (a_message) as `send (a_message)'
WSF_RESPONSE_MESSAGE.send_to (res) is now exported only to WSF_RESPONSE