- added RFC1123 http date format helper
- added put_cookie_with_expiration_date as DATE_TIME
REQUEST: added `execution_variable' to provide a way to keep object attached to the request
and indexed by a string. A typical usage is a SESSION object
- update on RESTbuck examples
- new example
- fixed bad typo in WSF_REQUEST
Reverted some changes such as
- http_client_response: keep the headers as a list to handle multiple message-value with same message-name
Fixed simple and simple_file example
Improved HTTP_HEADER
Changed libcurl implementation for http client
- now the header from the context really overwrite any of the session headers
- better design which is more strict, and remove any doubt about context's header usage
Now DEFAULT_SERVICE has to be created instead of inherited.
- This seems to be better for new user, and this avoid potential conflict and difference when inheriting between the various DEFAULT_SERVICE implementation.
- remember that DEFAULT_SERVICE, is mainly to help the user to build its very first service.
Use READABLE_STRING_8 as argument whenever it is possible.
Added WSF_RESPONSE_MESSAGE, and WSF_RESPONSE.put_response (a_response_message)
Now WSF_RESPONSE inherit from WGI_RESPONSE
- HTTP_HEADER.string does not have the ending CRLFCRLF .. but just CRLF
- WGI_RESPONSE.write_header_text has the responsibility to handle the last blank line CRLF (separating the header from the message)
- HTTP_HEADER.string does not set anymore a default content type as text/html
- added WGI_RESPONSE.write_header_lines (ITERABLE [TUPLE [name,value: READABLE_STRING_8]] mainly as an helper method,
this way the WGI user does not have to know about the CRLF end of line
Removed many usage of READABLE_STRING_GENERAL in favor to READABLE_STRING_8
to avoid potential nasty issues in user's code
URI-template is working only with STRING_8, then changed any _GENERAL or _STRING_32 to _STRING_8
- HTTP_MIME_TYPES
- HTTP_HEADER_NAMES
- HTTP_REQUEST_METHODS
- HTTP_STATUS_CODE (already exists)
Do not set the "Status" header when using WGI_RESPONSE_BUFFER.write_header (...)
Cosmetic
Fixed implementation of REST_REQUEST_AGENT_HANDLER to avoid wrong path in inherited routine.
Allow to build a URI_TEMPLATE from another URI TEMPLATE,
this way, if later we have more attribute (status or settings) to URI_TEMPLATE,
we'll be able to change the `template' without breaking the settings
added status setting in GW_RESPONSE
added a default implementation for write_status in OUTPUT_STREAM
(it should be moved away in the future)
removed any implementation from GW_REQUEST, and put it in GW_REQUEST_IMP
as specified by http://tools.ietf.org/html/draft-gregorio-uritemplate-05
(it seems to contains some error in the spec .. or minor incoherences, to double check)
The matcher is basic, it does not handle all the details of the string builder, but that seems ok for now.
So this is really more flexible this way, and much easier to write application supporting CGI, FCGI, Nino and so on .. as demonstrated in hello_world
This is a first version, more will come later, mainly migrating from Eiffel Web Reloaded to this Eiffel Web Framework project.