Files
EWF/ChangeLog
2015-05-06 22:18:27 +02:00

3441 lines
111 KiB
Plaintext

2015-05-06 Jocelyn Fiat <git@djoce.net>
Added abstraction WSF_ROUTED, and WSF_FILTERED. Added under
library/server/obsolete/v0 the previous non concurrent friendly version of
EWF/WSF, for backward compatiblity. Removed WSF_CALLBACK_SERVICE and
WSF_TO_WGI_SERVICE which are not need with new EWF.
2015-04-07 Jocelyn Fiat <git@djoce.net>
Updated code to remove obsolete call on recent version of json library.
Updated upload_image example to use PATH instead of DIRECTORY_NAME or
similar. Removed unused local variables.
Added a few descriptions and comments.
2015-04-06 jvelilla <javier.hector@gmail.com>
Added descriptions and comments
Added descriptions and feature comments.
Added features comments.
Added Missing Class and feature descriptions. Removed author entry.
2015-04-02 Jocelyn Fiat <git@djoce.net>
Export request and response from WGI_EXECUTION to itself. Added
WSF_FILTERED_ROUTED_SKELETON_EXECUTION
2015-04-01 Jocelyn Fiat <git@djoce.net>
renamed keep_alive_requested as is_persistent_connection_requested.
Better support for HTTP/1.0 and also related to persistent connection.
Enable support for persistent connections. (test: works fine with curl -k ,
but weird behavior with ab -k ...)
First step to improve a bit error handling related to socket disconnection.
Mainly in standalone connector for now.
Improved the simple_file example with image, and not found message. Use
standalone connector in SCOOP concurrency mode.
Cleaned simple example, and made the standalone target with SCOOP
concurrency.
2015-03-31 Jocelyn Fiat <git@djoce.net>
Updated various indexing notes. Removed a few obsolete classes. Cosmetics
Migrated most of the example and library to new design.
2015-03-25 Jocelyn Fiat <git@djoce.net>
Implemented support for base url in httpd connector.
Migrated simple, simple_file and upload_image example. Adapted EWF
accordingly.
2015-03-24 Jocelyn Fiat <git@djoce.net>
Added SCOOP support for WSF. WSF_SERVICE is deeply changed, and addition of
WSF_EXECUTION. Todo: code cleaning, removing useless things.
2015-03-20 Jocelyn Fiat <git@djoce.net>
Support for concurrencies: none, thread and SCOOP
Finally SCOOP supported.
2015-03-19 jvelilla <javier.hector@gmail.com>
Updated HTTP_COOKIE, enable to add a cookie with empty value. Added feature
to check if a date is valid rcf1123 is_valid_rfc1123_date. Added test cases
related to valid cookie dates. Updated wsf_response add_cookie basedo on
review comments.
Updated is_valid_character, using NATURAL_32 as an argument to avoid multiple
conversions. Updated add_cookie, added features has_cookie_name and is_cookie
line to avoid the use of STRING.split and STRING.start_with.
2015-03-17 jvelilla <javier.hector@gmail.com>
Updated HTTP_COOKIE class based on comments. Added missing descriptions in
test classes
Added the add_cookie feature Added test cases to check cookies in
WSF_RESPONSE- Added mock classes use for test cases.
2015-03-17 Jocelyn Fiat <git@djoce.net>
Experiment to avoid pseudo sequential execution
First attempt to use `{NETWORK_STREAM_SOCKET}.accept_to'
2015-03-13 jvelilla <javier.hector@gmail.com>
Updated code based on Jocelyn's comments.
Added HTTP_COOKIE and test cases. Added WSF_COOKIE class, inherit from
HTTP_COOKIE.
2015-03-13 Jocelyn Fiat <git@djoce.net>
First steps to provide a concurrent compliant EWF connector.
2015-03-11 Jocelyn Fiat <git@djoce.net>
fixed location of before_15_01 folder.
2015-03-05 Jocelyn Fiat <git@djoce.net>
Removed the -safe since now new project should be void-safe
moved wizard under tools/estudio_wizard
moved wizard from tools to helpers
Updated script to install wizard in current EiffelStudio installation.
Updated the ewf estudio wizard to have a console and a graphical wizard.
Usage: wizard -callback file.cb path-to-rootdir folder.
2015-02-18 Jocelyn Fiat <git@djoce.net>
Prepare nino ecf to be compilable with upcoming changes in EiffelNet /
NETWORK_STREAM_SOCKET interface. (see rev#96640 from eiffelstudio subversion
repository)
2014-12-02 Jocelyn Fiat <git@djoce.net>
Updated install_ewf.bat to use the new "ecf_tool" from
https://svn.eiffel.com/eiffelstudio/trunk/Src/tools/ecf_tool .
Completed change on debug handler and filter, to use WSF_DEBUG_INFORMATION.
2014-12-01 Jocelyn Fiat <git@djoce.net>
Added assertions on router helpers, and also agent handler. Closes issue #159
2014-11-24 Jocelyn Fiat <git@djoce.net>
Fixed issue#157 (WSF_REQUEST.cookies_table does not terminate on cookies
without a value, or ending with semi-colon) Added related autotest.
2014-11-19 Colin Adams <colinpauladams@gmail.com>
Added {WSF_REQUEST}.http_content_encoding
2014-11-18 Colin Adams <colinpauladams@gmail.com>
issue #149 (Simple CORS support for GET requests in policy-driven framework)
Issue #144 (Add last_modified to WSF_SKELETON_HANDLER)
2014-11-17 Colin Adams <colinpauladams@gmail.com>
Issue #143
2014-11-17 Jocelyn Fiat <git@djoce.net>
Converted ecf file to complete void-safe. Improved JSON_PRETTY_STRING_VISITOR
to support STRING_8 or STRING_32 output. Added examples. Added doc in the
folder "doc". Updated Readme and other files. Added package.iron file.
2014-10-10 Jocelyn Fiat <git@djoce.net>
Fixed compilation issue for wsf_js_widget package.
2014-09-30 Jocelyn Fiat <git@djoce.net>
Marked converters classes as obsolete.
Updated license and copyright. Updated classes with bottom indexing notes
related to copyright and license.
2014-09-24 Jocelyn Fiat <git@djoce.net>
Fixed various issue with parsing string (such as \t and related), Implemented
escaping of slash '/' only in case of '</' to avoid potential issue with
javascript and </script> Many feature renaming to match Eiffel style and
naming convention, kept previous feature as obsolete. Restructured the
library to make easy extraction of "converter" classes if needed in the
future. Updated part of the code to use new feature names.
2014-07-07 Jocelyn Fiat <git@djoce.net>
Added custom-template in examples, as a base template to integrate easily
other JS widgets. Added custom example (based on custom-template project)
that demonstrates how to integrate a thirdparty JS component such as d3
within the application using wsf_js_widget. Removed various unecessary ecf
dependencies.
Fixed compilation issue related to old usage of modified JSON library.
Move wsf_js_widget library under draft/library/server/wsf_js_widget
2014-07-04 Conaclos <Conaclos>
Apply pretty print tool. Apply on each class in test suite and library.
2014-07-02 Jocelyn Fiat <git@djoce.net>
Replace any multiple slash sequence by a single slash character for
PATH_INFO.
2014-07-01 Jocelyn Fiat <git@djoce.net>
Various changes related to new WSF_DEBUG_INFORMATION and WSF_DEBUG_HANDLER.
Fixed various issues related to unicode and CGI variables (assuming that CGI
variables are utf-8 encoded, and sometime percent encoded). Delayed
computation of `value' and `name' from WSF_STRING. Fixed computation of
REQUEST_URI when the server does not provide it (this is rare, but possible).
compute it as SERVER_NAME + encoded-PATH_INFO + {? + QUERY_STRING}
2014-06-30 Conaclos <Conaclos>
Add documentation and contracts for domain types.
Improve converters. Replace old syntax with new one and improve
implementation.
Syntax update. Replace assigment attempt with object test.
2014-06-30 Jocelyn Fiat <git@djoce.net>
Improved the debug example, so that it outputs more information.
Ensure that PATH_INFO and REQUEST_URI are following the CGI specifications: -
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.
2014-06-23 Jocelyn Fiat <git@djoce.net>
Raised the void-safety level to "complete" Added comments.
2014-06-12 Jocelyn Fiat <git@djoce.net>
Added example to help debugging EWF This is mainly a kind of echo server ..
that return the request information.
2014-06-11 Jocelyn Fiat <git@djoce.net>
Improved the uploading of file in regard to temporary filename. Avoid to
overwrite the same file for concurrent requests uploading the same filename.
2014-05-14 Jocelyn Fiat <git@djoce.net>
Make sure to be able to compile in complete void-safe for 14.05 and still
compile with 13.11
Support for unicode error message for the
ERROR_HANDLER.as_string_representation: STRING_32 and as well for
debug_output, this avoid unecessary unicode string truncation.
debug_output can return a string 32, so avoid truncated unicode value by
returning a string 32 value for `debug_output' .
Replaced notion of session uuid by session id which is more generic (could be
a uuid, or something else). Use STRING_TABLE for the implementation of
session data container. Added a few missing comments.
renamed HTTP_HEADER_BUILDER as HTTP_HEADER_MODIFIER
2014-04-22 Jocelyn Fiat <git@djoce.net>
Updated ecf files toward complete void-safety Added iron package files. Added
libfcgi files to compile .lib and .dll on Windows
Fixed various Unicode text handling. Moved example folder inside the library,
and renamed it "demo" Improved example code.
Added support for UTF-8 during decoding. The JSON specification does not
require it, but some json encoders are using utf-8 encoding for json
encoding. Added related autotest case.
2014-04-10 Jocelyn Fiat <git@djoce.net>
Added an example to embed EWF nino service into a Vision2 desktop
application. This is locally consumed via the embedded web browser component.
2014-04-09 Jocelyn Fiat <git@djoce.net>
Updated encoder library, especially URL encoders to reuse implementation of
percent_encoder.e Fixed JSON_ENCODER for %T and related. Updated related
autotest cases.
Moved implementation of WSF_PERCENT_ENCODER into "encoder" library, and added
the *partial* variant.
Improved BASE64 to update has_error when decoding. Added manual tests.
2014-04-08 Jocelyn Fiat <git@djoce.net>
Fixed issue with URL_ENCODER encoding (and small optimization)
2014-03-26 Jocelyn Fiat <git@djoce.net>
Code improvement Cosmetic (comments, names, formatting)
2014-03-19 hassany <ynhwebdev@gmail.com>
Fix STRING_32 issues
2014-03-19 severin <muengers@student.ethz.ch>
Added more comments and assertions to all classes; clean up
2014-03-18 Jocelyn Fiat <git@djoce.net>
Added alias "[]" to `item', to get header value for a header name. Added
assigner for `item' to make it easier to add header item without confusing
key and value. Better parameter names (more explicit)
2014-03-17 Jocelyn Fiat <git@djoce.net>
Added comments, used better parameter names.
Extracting HTTP_HEADER_BUILDER from HTTP_HEADER to provide useful interface
on WSF_RESPONSE, and make WSF_SESSION easier to use.
2014-03-12 hassany <ynhwebdev@gmail.com>
Extend documentation
2014-03-12 severin <muengers@student.ethz.ch>
Updated comments and added contracts for core controls in webcontrol
2014-03-05 severin <muengers@student.ethz.ch>
Added assets to library
2014-03-05 YNH Webdev <ynhwebdev@gmail.com>
Rename WSF_FILE to WSF_FILE_DEFINITION
Change STRING TO STRING_32
2014-03-03 Jocelyn Fiat <git@djoce.net>
Added a demo application server for basic http autorization
2014-02-28 Jocelyn Fiat <git@djoce.net>
Removed usage of remote anchor types.
2014-02-24 Jocelyn Fiat <git@djoce.net>
Fixed the ecf to test global compilation of EWF.
2014-02-23 YNH Webdev <ynhwebdev@gmail.com>
Add class description to validators Rename Wsf_progresssource
2014-02-21 severin <muengers@student.ethz.ch>
Began with class documentation
2014-02-03 Jocelyn Fiat <git@djoce.net>
Udated to highest level of void-safety. Fixed obsolete calls.
2014-01-26 YNH Webdev <ynhwebdev@gmail.com>
Finalize WSF_DYNAMIC_MULTI_CONTROL
Add dynamic multicontrol
2014-01-25 YNH Webdev <ynhwebdev@gmail.com>
Image preview
Fix upload state
2014-01-24 Jocelyn Fiat <git@djoce.net>
Update restbucksCRUD example to use "crypto" library rather than "eel".
Updated readme.md to add curl command to test the server.
2014-01-11 YNH Webdev <ynhwebdev@gmail.com>
Add set value to value controls
2014-01-11 severin <muengers@student.ethz.ch>
Included time library to set current date in date picker
2014-01-08 severin <muengers@student.ethz.ch>
Small change on date picker control, removed date input
2014-01-07 jvelilla <javier.hector@gmail.com>
Fixed error with identity encoding.
2014-01-06 severin <muengers@student.ethz.ch>
Modified datepicker control
2014-01-05 severin <muengers@student.ethz.ch>
Removed country chooser widget
fixed js
modified country and date/time chooser
2014-01-04 severin <muengers@student.ethz.ch>
Included bootstrap datetimepicker
Added date chooser widget
Removed add_dropdown methods from navbar, some cleanup in different controls
ATTENTION: ugly append_attributes added to stateless control, replaces
set_attributes -> maybe improve
Moved set_attributes from BASIC_CONTROL to STATELESS_CONTROL
2014-01-02 YNH Webdev <ynhwebdev@gmail.com>
Add disable option
Allow remove
2014-01-01 YNH Webdev <ynhwebdev@gmail.com>
Add serverside file id to file structure
Demo upload
Workin file upload
2013-12-31 YNH Webdev <ynhwebdev@gmail.com>
Change parameter type
File upload implementation part1
Fix dropdown list, clean up actions
2013-12-03 Jocelyn Fiat <git@djoce.net>
Fixed various issues with libfcgi on Linux, mainly related to
stdout,stderr,stdin, feof and related. Added `reset' to the libfcgi input
stream so that it is possible to reset previous errors.
2013-12-02 Jocelyn Fiat <git@djoce.net>
For Nino connector, ensured that environment variables are percent-encoded in
meta variables.
2013-11-19 Jocelyn Fiat <git@djoce.net>
http_client: changed some default settings `connect_timeout' and `timeout' to
0 (never timeout) Updated comments
2013-11-18 Jocelyn Fiat <sandbox.eiffel.com>
removed CRLF eol in many files
2013-11-12 Jocelyn Fiat <git@djoce.net>
Fixed wrong assertion related to upload_data and upload_filename in
HTTP_CLIENT_REQUEST_CONTEXT . Fixed issue #124 Enable all assertion for the
related autotest cases.
2013-11-11 YNH Webdev <ynhwebdev@gmail.com>
Rename files
2013-11-10 YNH Webdev <ynhwebdev@gmail.com>
Rename validators, Make forms resizable
Validate all fields and make regexp stricter
Fix event handler
Fix email validation and min and max validator
2013-11-09 YNH Webdev <ynhwebdev@gmail.com>
Fix slider
2013-11-08 YNH Webdev <ynhwebdev@gmail.com>
Fix rendering issue. Add active class
2013-11-08 Jocelyn Fiat <git@djoce.net>
Fixed issue with unicode login:password Added EIS info Added testing cases.
Updated gewf source code to allow custom settings, and in particular the
location of the templates. Fixed compilation of application launcher, and
make it more flexible.
2013-11-08 YNH Webdev <ynhwebdev@gmail.com>
Adjust layout control and fix navlist
Fix autocomplete
Redesign states and implement generated control_name
2013-11-07 jvelilla <javier.hector@gmail.com>
Updated comments, add DEBUG_OUPUT to JSON_ARRAY.
Fixed normalized line endings
Normalize line endings
2013-11-06 YNH Webdev <ynhwebdev@gmail.com>
Add stateless widgets
2013-11-05 severin <muengers@student.ethz.ch>
Fix Layout Control
Added navlist widget
Added WSF_LAYOUT_CONTROL
2013-11-03 YNH Webdev <ynhwebdev@gmail.com>
Add item alias
2013-11-02 severin <muengers@student.ethz.ch>
Fixed js
Added dropdown control
Fixed creation procedures (make)
2013-10-30 YNH Webdev <ynhwebdev@gmail.com>
Fix slider code
2013-10-29 YNH Webdev <ynhwebdev@gmail.com>
Fix path
2013-10-29 severin <muengers@student.ethz.ch>
Fixed WSF_MULTI_CONTROL (wrong order of subcontrols), completed navbar,
improved slider
2013-10-25 Jocelyn Fiat <git@djoce.net>
Added content_negotiation to official EWF release.
2013-10-23 Jocelyn Fiat <git@djoce.net>
Removed trimmed_string function and callers, and for now, use
(left_|right_)adjust
2013-10-22 jvelilla <javier.hector@gmail.com>
Reuse trimmed_string from HTTP_HEADER_UTILITIES. Added description to
FITNESS_AND_QUALITY.
2013-10-18 Jocelyn Fiat <git@djoce.net>
Added content_negotiation in "wsf" library
Minor changes in wsf test cases.
Fixed an issue with one short chunk and empty trailer issue#81
Class renaming for content_negotiation Splitted SERVER_CONTENT_NEGOTIATION in
4 differents classes for each kind of negotiation Changed to use ITERABLE
over LIST for supported variants arguments Factorized some code for http
parameter parsing such as q=1.0;note="blabla" and so on Integrated within
EWF
2013-10-15 Jocelyn Fiat <git@djoce.net>
Updated content_negotiation with better class names and feature names. Minor
semantic changes in VARIANTS classes Factorized some code in
HTTP_ACCEPT_LANGUAGE
2013-10-14 Jocelyn Fiat <git@djoce.net>
Enabled assertion on content_negotiation during autotests The tests project
is now void-safe Using force instead of put_left seems to work fine and is
better for performance, and no need to check for precondition "not before"
2013-09-29 Severin <severin@random.(none)>
Test
2013-09-28 YNH Webdev <ynhwebdev@gmail.com>
Add codeview
Fix load state error
Implement lazy js load wraper
Load needed libraries dynamically
2013-09-27 Severin Münger <souvarin.m@gmail.com>
Fixed slider
2013-09-27 YNH Webdev <ynhwebdev@gmail.com>
Create new JSON_OBJECT
2013-09-25 jvelilla <javier.hector@gmail.com>
Fixed Issue #75 CONNEG doesn't handle accept encodings correcty
2013-09-24 Jocelyn Fiat <git@djoce.net>
Reused string constants from HTTP_HEADER_NAMES
Added WSF_SELF_DOCUMENTED_AGENT_HANDLER and variants for uri, uri_template,
starts_with, ... to provide a way to documentate easily wsf agent handler.
2013-09-24 Severin Münger <souvarin.m@gmail.com>
Moved to draft
Removed WSF_STATELESS_MULTI_CONTROL
Added slider demo
2013-09-24 YNH Webdev <ynhwebdev@gmail.com>
Add table title
Implement remove
2013-09-23 YNH Webdev <ynhwebdev@gmail.com>
Stop interval if deleted
Introduce actions First working modal
2013-09-22 YNH Webdev <ynhwebdev@gmail.com>
Set url within page class
Implement control isolation
Restructure callbacks
2013-09-22 Severin Münger <souvarin.m@gmail.com>
Improved Navbar, changed attribute handling
2013-09-22 YNH Webdev <ynhwebdev@gmail.com>
Add comments to grid controls
2013-09-21 Severin Münger <souvarin.m@gmail.com>
Added comments to autocompletion, input, navbar, progressbar, validator,
webcontrol. Some more little changes.
2013-09-20 YNH Webdev <ynhwebdev@gmail.com>
Fix tuple
Make recommended changes - Implicit casting - Use same_string
2013-09-20 jvelilla <javier.hector@gmail.com>
Added description to results classes. Removed unnecessary class Clean code:
removed feature out, updated corresponding test cases.
2013-09-20 YNH Webdev <ynhwebdev@gmail.com>
Rename clusters to singular names
Move project to wsf_js_widget
2013-09-20 Jocelyn Fiat <git@djoce.net>
Renamed `content_negotation' as `content_negotiation' (fixed typo) Updated
.ecf and Eiffel code depending on previous CONNEG
Minor changes - using http_client library instead of libcurl directly - using
implicit conversion to JSON_STRING to improve code readability - use
ARRAYED_LIST instead of LINKED_LIST .. for performance. - cosmetic .. but
still a lot of feature clauses are missing, comments, assertions ...
2013-09-19 jvelilla <javier.hector@gmail.com>
Removed http classes related to http expectations. Updated code based on the
code review. Still work in progress
2013-09-17 jvelilla <javier.hector@gmail.com>
New directory structure (variants, results, parsers) Refactor STRING to
READABLE_STRING_8. Clean code, added documentation and EIS references.
2013-09-16 jvelilla <javier.hector@gmail.com>
Renamed CONNEG to content_negotiation. Update MIME_PARSER to use
HTTP_MEDIA_TYPE.
2013-09-16 Jocelyn Fiat <git@djoce.net>
Accepts "*" as valid media type (interpreted as */* to be flexible)
Fixed type having a semicolon in a parameter value such as "text/plain;
param1=%"something;foo=bar%"; param2=%"another-thing%"
Added autotests to http library in relation with mime type and content type.
Fixed an issue with more than one parameter.
2013-09-16 YNH Webdev <ynhwebdev@gmail.com>
Slow down fetching
2013-09-15 Severin Münger <souvarin.m@gmail.com>
Fixed progressbar
Added progress callback
2013-09-15 YNH Webdev <ynhwebdev@gmail.com>
Make js files local
Add all countries to flag list Set encoding (Must be changed to UTF-8 in
future)
Rearrange demo Add contact autocompletion
Create basepage
2013-09-15 Severin Münger <souvarin.m@gmail.com>
Small changes
Added Progress Control
Included navbar example
2013-09-14 YNH Webdev <ynhwebdev@gmail.com>
Fix change event
Style demo pages
Implement repeater
Google news example
- Add event paramenter - Implement Paging control
2013-09-13 Severin Münger <souvarin.m@gmail.com>
Fixed rendering, added navbar
2013-09-13 Jocelyn Fiat <git@djoce.net>
Added PATCH support in http_client, and provided custom_with_upload_data and
custom_with_upload_file.
forget about older version of Eiffel cURL
2013-09-13 Severin Münger <souvarin.m@gmail.com>
Small changes/fixes
Small fix removed DOCTYPE
New Control structure
2013-09-13 YNH Webdev <ynhwebdev@gmail.com>
Add Grid Widget
2013-09-12 Severin Münger <souvarin.m@gmail.com>
Extended autocompletion with customized templates
Autocompletion
Changed structure
2013-09-09 Jocelyn Fiat <git@djoce.net>
Fixing handling of query parameter without value Issue#70
https://github.com/EiffelWebFramework/EWF/issues/70
2013-09-08 jvelilla <javier.hector@gmail.com>
Moved Selenium web driver to WebDriver-Eiffel repository
2013-09-06 YNH Webdev <ynhwebdev@gmail.com>
Min/Max validator
2013-09-06 Severin Münger <souvarin.m@gmail.com>
Some small changes
2013-09-06 YNH Webdev <ynhwebdev@gmail.com>
Add HTML control
2013-09-06 Jocelyn Fiat <git@djoce.net>
fixed compilation of wsf_extension
2013-09-06 YNH Webdev <ynhwebdev@gmail.com>
Implement serverside and client side validatation
2013-09-06 Jocelyn Fiat <git@djoce.net>
Added WSF_CUSTOM_HEADER_FILTER which provide a convenient way to add a custom
header from a filter. Added to wsf_extension WSF_DEBUG_FILTER and
WSF_DEBUG_HANDLER that could be convenient to test specific requests
Restructured wsf_extension
added policy driven license .lic files
Added WSF_WIDGET_RAW_TEXT to render text via html encoding. Added
WSF_WIDGET_COMPOSITE.extend_html_text (READABLE_STRING_8) that should replace
the now obsolete "extend_text" Added WSF_WIDGET_COMPOSITE.extend_raw_text
(READABLE_STRING_GENERAL), for text that need to be html encoded during html
rendering. Made WSF_FORM_RAW_TEXT obsolete.
Used res.put_header_lines (h) rather than res.put_header_text (h.string)
2013-09-06 YNH Webdev <ynhwebdev@gmail.com>
First working checkbox list
2013-09-06 Severin Münger <souvarin.m@gmail.com>
Added checkbox list, modified form validation
2013-09-05 Severin Münger <souvarin.m@gmail.com>
Added validators for decimals and mails
Added Regexp validation (later used for mail, numbers...)
2013-09-05 YNH Webdev <ynhwebdev@gmail.com>
Fix form and textarea bug
Test the new controls
2013-09-05 Severin Münger <souvarin.m@gmail.com>
Implemented WSF_CHECKBOX_CONTROL, added id attribute to rendering of
WSF_CONTROL
2013-09-05 YNH Webdev <ynhwebdev@gmail.com>
Fix render function
2013-09-05 Severin Münger <souvarin.m@gmail.com>
Restructured validators, fixed form element rendering
2013-09-05 YNH Webdev <ynhwebdev@gmail.com>
Fix render function
2013-09-05 Severin Münger <souvarin.m@gmail.com>
Implemented WSF_FORM_ELEMENT_CONTROL
Began with implementation of form handling
2013-09-05 YNH Webdev <ynhwebdev@gmail.com>
Use render tag
2013-09-05 Severin Münger <souvarin.m@gmail.com>
Adapted rendering of multi control
Changed creation procedures
2013-09-05 YNH Webdev <ynhwebdev@gmail.com>
Change wsf control
2013-09-04 Olivier Ligot <oligot@gmail.com>
Contribute page
2013-09-03 Severin Münger <souvarin.m@gmail.com>
Added TextArea
2013-09-02 Severin Münger <souvarin.m@gmail.com>
forgot to add new files
Added generalized input control similiar to text
2013-08-29 YNH Webdev <ynhwebdev@gmail.com>
Only send changes back to client
2013-08-28 YNH Webdev <ynhwebdev@gmail.com>
Add comments Use Precursor
Clean up code Simplify event
Only callback if there is an event attached
Remove ugly do nothing hack
Communication in both directions (Text control) Code regrouping
Fix multi control Use multi control in example
First working callback
2013-08-27 Severin Münger <souvarin.m@gmail.com>
Added WSF_MULTI_CONTROL to support controls that consist of multiple separate
controls.
Created first working sample page application.
2013-08-27 YNH Webdev <ynhwebdev@gmail.com>
Pretty Print
Add a json state to each control
Page structure
2013-08-27 Severin Münger <souvarin.m@gmail.com>
Created widget-project testapp project.
2013-08-21 Jocelyn Fiat <git@djoce.net>
Updated copyright for policy-driven classes, which is a contribution from
Colin Adams.
2013-08-20 Jocelyn Fiat <git@djoce.net>
Extracted the policy driven classes into their own library for now
"wsf_policy_driven.ecf" Updated the restbucksCRUD example to demonstrate both
approaches.
Moved recent policy-driven classes into "policy" sub folder
Removed WSF_ROUTING_HANDLER.make_with_router (a_router) It was not used in
existing code, and potentially dangerous, if coder reuses router by accident.
2013-08-16 Colin Adams <colinpauladams@gmail.com>
Changed age to max_age
2013-08-14 Colin Adams <colinpauladams@gmail.com>
Further use of constants for execution variables
2013-08-13 Colin Adams <colinpauladams@gmail.com>
Gave symbolic names to execution variables used by the framework
2013-08-12 Colin Adams <colinpauladams@gmail.com>
Added some checks for custom erros being set.
refactored to allow etags to work properly when multiple representations are
available
2013-08-08 Colin Adams <colinpauladams@gmail.com>
Implemented remaining error response calls
made deleted into an effective routine
2013-08-07 Colin Adams <colinpauladams@gmail.com>
Fixes as picked up by code review
2013-08-06 Colin Adams <colinpauladams@gmail.com>
restbucksCRUD example changed to use policy-driven framework
Policy-driven URI template handlers
Add CONNEG to wsf*.ecf to support ploicy-driven framework
2013-08-05 Jocelyn Fiat <git@djoce.net>
Enhanced interface of JSON_ARRAY and JSON_OBJECT Added JSON_ITERATOR
2013-07-19 Olivier Ligot <oligot@gmail.com>
Fix C compilation when using libfcgi connector on OS X (#65)
2013-07-11 Olivier Ligot <oligot@gmail.com>
Tests compile again (fixes #63)
2013-07-05 Jocelyn Fiat <git@djoce.net>
Moved gewf under draft/src/gewf
licensing and copyright
First working (but limited) tool
Added first attempt to provide a application builder. For now only trying to
have a generic template. Do not expect anything working for now, this is
just the start of a draft
2013-07-02 Jocelyn Fiat <git@djoce.net>
Moved the cms component to https://github.com/EiffelWebFramework/cms This is
now out of EWF repository.
2013-06-28 Jocelyn Fiat <git@djoce.net>
Improved Unicode support.
Ensured that EWF compiles with 7.2 (note about ecf version 1-10-0
void_safety="all" <--> 1-11-0 void_safety="transitional" 1-10-0
void_safety="all" <--- 1-11-1 void_safety="all" )
2013-06-18 Jocelyn Fiat <git@djoce.net>
Removed wsf_support, which is useless and unused
2013-06-17 Jocelyn Fiat <git@djoce.net>
Updated ecf file as workaround to make autotest works fine.
2013-06-13 Jocelyn Fiat <git@djoce.net>
Added notification_email library as official EWF lib.
Unicode support for notification_email library
2013-06-12 Jocelyn Fiat <git@djoce.net>
Removed a few obsolete usages, and benefit from new classes from EiffelStudio
>= 7.2
Updated WGI specification to ease future migration to unicode support. 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
minor optimization avoiding to create temporary string that might be big
Updated CMS support for unicode.
Better support for unicode path and values. Added
WSF_REQUEST.percent_encoded_path_info: READABLE_STRING_8 to keep url encoded
path info, as it is useful for specific component The router is now using
WSF_REQUEST.percent_encoded_path_info since URI_TEMPLATE are handling URI
(and not IRI) this fixes an issue with unicode path parameters. This should
not break existing code, and this fixes various unicode related issues
related to PATH parameter and path info but also any component using file
names. (required EiffelStudio >= 7.2)
2013-06-12 Olivier Ligot <oligot@gmail.com>
Rename notification to notification_email
Extract notification library from the CMS draft application The new library
is located in library/runtime/process/notification. This allows to use it
apart from the CMS.
2013-06-11 jvelilla <javier.hector@gmail.com>
merge
2013-06-07 Jocelyn Fiat <git@djoce.net>
Fixed various void-safety issue with recent compilers. Note that EWF does
now require EiffelStudio 7.2, and is compiling with 7.3
2013-05-29 jvelilla <javier.hector@gmail.com>
Added command POST /session/:sessionId/modifier Initial implementation of
KeyBoard. Added Mouse class, but not implemented.
2013-05-28 Jocelyn Fiat <git@djoce.net>
Added WSF_REQUEST.read_input_data_into_file (FILE)
2013-05-22 jvelilla <javier.hector@gmail.com>
Updated command_executor Added more examples.
2013-05-20 jvelilla <javier.hector@gmail.com>
Update find element examples. Improved command executor
2013-05-18 jvelilla <javier.hector@gmail.com>
Added new selenium locator examples. Fixed find_elements in WEB_DRIVER.
2013-05-14 jvelilla <javier.hector@gmail.com>
Move expectation classed under a expectation cluster, added a new expectation
class for header.
Added examples find by id, name and class.
2013-05-13 jvelilla <javier.hector@gmail.com>
Updated selenium WEB_DRIVER_WAIT, the feature until_when now use a predicate.
Updated the related example.
2013-05-10 jvelilla <javier.hector@gmail.com>
Initial implementation of HTTP RESPONSE EXPECTATIONS. Added a class to test
http client with httpbin.org and expectations
2013-05-08 jvelilla <javier.hector@gmail.com>
Updated WEB_DRIVER_WAIT class, still need to be improved. Updated Readme and
the example
2013-05-03 jvelilla <javier.hector@gmail.com>
Improve the example, Added a new class WEB_DRIVER_WAIT, still under
development. Update web driver, to define time outs.
2013-04-30 jvelilla <javier.hector@gmail.com>
Added a simple search example. Updated web_driver, use the API as delegation
instead of inheritance. Updated web_element class.
2013-04-29 jvelilla <javier.hector@gmail.com>
Created new classes to represent a web driver. Added Examples, clean code
2013-04-24 jvelilla <javier.hector@gmail.com>
Completed low level methods, clean code.
Implemented more commands from REST API JSONWireProtocol Refactor
COMMAND_EXECUTOR.
2013-04-23 jvelilla <javier.hector@gmail.com>
Added more command from JSONWireProtol.
Added more commands from the JSONWireProtocol.
2013-04-22 Jocelyn Fiat <git@djoce.net>
added header helper feature in the context interface added
HTTP_CLIENT_SESSION.custom (...) to support any kind of request methods
2013-04-22 jvelilla <javier.hector@gmail.com>
Added new classes, implemented more methods from JSONWireProtol API. Added
test cases
2013-04-17 Colin Adams <colinpauladams@gmail.com>
Made changes requested in review
2013-04-17 jvelilla <javier.hector@gmail.com>
Fixed errors in navigate_to_url command, Fixed url templates in
json_wire_protocol_command. Added test cases to AutoTest
2013-04-16 jvelilla <javier.hector@gmail.com>
Fixed feature typo, improved commands, added AutoTest
2013-04-15 jvelilla <javier.hector@gmail.com>
Updated RestAPI commands
2013-04-13 Colin Adams <colinpauladams@gmail.com>
If-Match implemented in skeleton handler
If-Match implemented in skeleton handler
2013-04-12 jvelilla <javier.hector@gmail.com>
Fixed configurations paths
Initial import Selenium binding
2013-04-11 Jocelyn Fiat <git@djoce.net>
Fixed HTTP_CLIENT_RESPONSE when dealing with redirection before it was
storing some header in the body. now we added redirections: .. which is a
list of redirection informations: - status line - header - and eventual
redirection body (but at least by default, libcurl does not cache body)
Enhanced the http_client library to be able to write directly the downloaded
data into a file (or as convenient thanks to agent).
2013-04-11 Colin Adams <colinpauladams@gmail.com>
Fixed bug in 32/8 bit string existance
Handle Precondition Failed for If-Match: * where there is no handler for the
resource
2013-04-10 Jocelyn Fiat <git@djoce.net>
Fixed HEAD request related issue see
https://github.com/EiffelWebFramework/EWF/issues/53
2013-04-05 Jocelyn Fiat <git@djoce.net>
Cosmetic fixed various indentations Removed useless dependencies for
ewf_ise_wizard project.
2013-03-30 Jocelyn Fiat <jfiat@eiffel.com>
fixed name of file with class name
2013-03-29 Jocelyn Fiat <jfiat@eiffel.com>
reuse implementation from WSF_REQUEST to get input data for MIME handlers.
Fixed MIME multipart form data handler And use content-length value if
provided.
be sure we got the full content same as content length
2013-03-27 Colin Adams <colinpauladams@gmail.com>
First attempt at WSF_HTTP_PROTOCOL_VERSION
2013-03-27 Jocelyn Fiat <jfiat@eiffel.com>
Removed WSF_URI_*_ROUTER_HELPER and use instead the
WSF_URI_*_HELPER_FOR_ROUTED_SERVICE (the removed class were not in latest
release, so this is safe to use the new name) Cosmetic
2013-03-27 Colin Adams <colinpauladams@gmail.com>
Further changes in response to review comments by Jocelyn
now all-safe.ecf compiles again
2013-03-27 Jocelyn Fiat <jfiat@eiffel.com>
added wsf_html for (un)installation
Updated all-safe.ecf (add all-stable-safe.ecf that includes only the library,
examples and specific draft lib)
2013-03-27 Colin Adams <colinpauladams@gmail.com>
openid demo fixed
2013-03-26 Colin Adams <colinpauladams@gmail.com>
merging from upstream - stage 4
Use class URI
2013-03-26 Jocelyn Fiat <jfiat@eiffel.com>
Moved more components from CMS to wsf_html. This includes WSF_PAGER, and
feature in WSF_THEME .. including WSF_API_OPTIONS used to compute url and
link.
2013-03-25 Jocelyn Fiat <jfiat@eiffel.com>
Added self doc to the wsf file system handler Allow to hide the wsf file
system handler from self documentation Better description format handling for
the self doc
2013-03-22 Jocelyn Fiat <jfiat@eiffel.com>
added wsf_html-safe.ecf to all-safe.ecf
Extracted the WIDGET and FORM classes out of "cms" component and build the
wsf_html library which also include the previous css lib.
Fixed default status code for redirection response message object.
Fixed assertion that were broken with recent delayed header response. 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.
Fixed self documentation when querying documentation related to a specific
resource (uri, uri-template, ..) Before it was showing only the first found
so if we had "/foo" GET -> FOO_GET_HANDLER "/foo" POST -> FOO_POST_HANDLER It
was showing only the first, now this is working as expected.
Moved the *_CSS_* class in their own (draft) library, since they are not CMS
specific.
2013-03-21 Jocelyn Fiat <jfiat@eiffel.com>
Fixing feature comments
Removed WSF_AGENT_HANDLER since it was an artificial notion, as we have no
common ancestor for WSF_HANDLER having execute (req: WSF_REQUEST; res:
WSF_RESPONSE)
Now WSF_FILTER_HANDLER is a handler and has formal generic G constrained to
WSF_HANDLER This eases implementation of potential descendants.
Introduced WSF_ROUTER_SESSION This fixes CQS violation from
WSF_ROUTER.dispatch_and_return_handler (...): ? WSF_HANDLER and related code,
and this is more compliant with concurrency. In addition, the
WSF_ROUTER_SESSION can be enhanced in the future to answer more advanced
needs.
Fixed WSF_FILE_RESPONSE and WSF_DOWNLOAD_RESPONSE and set the status code to
be Ok by default
2013-03-19 Jocelyn Fiat <jfiat@eiffel.com>
mimic design of WSF_ROUTED_SERVICE for WSF_FILTERED_SERVICE and update the
filter example to make it simpler and reuse code.
updated install and uninstall scripts
added WSF_..._ROUTER_HELPER and made the previous WSF_..._ROUTED_SERVICE
obsolete
WSF_CORS_OPTIONS_FILTER should not inherit from WSF_URI_TEMPLATE_HANDLER
Moved all *_CONTEXT_* router related classes into wsf_router_context.ecf
library This makes wsf simpler to discover. And advanced context enabled
handler, mapping, ... are still available for now in wsf_router_context.ecf
library
2013-03-18 Jocelyn Fiat <jfiat@eiffel.com>
Added deferred WSF_AGENT_HANDLER Added WSF_NOT_IMPLEMENTED_RESPONSE
2013-03-18 Colin Adams <colinpauladams@gmail.com>
refactored for WSF_ROUTED_SKELETON_SERVICE
prior to refactoring for WSF_ROUTED_SKELETON_SERVICE
2013-03-17 Colin Adams <colinpauladams@gmail.com>
implemented OPTIONS * except for Allow header
2013-03-16 Colin Adams <colinpauladams@gmail.com>
Implemented 414 and 503 responses on WSF_ROUTED_SERVICE
Implemented 503 and 414 responses in WSF_ROUTED_SERVICE
2013-03-15 Colin Adams <colinpauladams@gmail.com>
Sixth round of contracts for non-Void-safe users
Fifth round of contracts for non-Void-safe users
2013-03-15 Olivier Ligot <oligot@gmail.com>
Use new upstrem method put_header_key_values
2013-03-15 Colin Adams <colinpauladams@gmail.com>
Third iteration of contracts for non-Void-safe users
2013-03-14 Colin Adams <colinpauladams@gmail.com>
Further contracts for non-Void-safe users
Response to comments from review "Contracts for non-Void-safe users (take 1)"
Added non-Void contracts for classes previously flagged by AutoTest
2013-03-08 Jocelyn Fiat <jfiat@eiffel.com>
Made it compilable with 7.1
Factorized code for checkbox and radio input. Renamed `text' and similar to
`title' and similar
adding back missing uri template library
Added support for OpenID identity Added user roles management Improvement
CMS_HOOK_FORM_ALTER design. Factorized code into CMS_WIDGET_COMPOSITE Use
general notion of CMS_WIDGET (and CMS_FORM allows CMS_WIDGET, and not just
CMS_FORM_ITEM) Fixed various CMS_WIDGET traversal, and fixed related issue
for CMS forms Fixed CMS_FORM_CHECKBOX_INPUT when no value was set. Added
CMS_FORM_DATA.cached_value .. to pass computed values during validation to
submit actions (mainly for optimization) Added support for @include=filename
in CMS_CONFIGURATION Added CMS_WIDGET_TABLE as filled version of
CMS_WIDGET_AGENT_TABLE (renamed from previous CMS_WIDGET_TABLE) Many
improvements to the CMS_FORM design Some improvements to CMS_MODULE ...
Use the advanced SED storable to store data on disk (rather than the runtime
storable)
2013-03-05 Jocelyn Fiat <github@djoce.net>
Added WITH_HTML_ATTRIBUTE
2013-03-01 Jocelyn Fiat <jfiat@eiffel.com>
added the notion of site identifier "site.id" (typically this could be a
UUID)
Also take into account sublink's permission
2013-02-28 Jocelyn Fiat <jfiat@eiffel.com>
added CMS widgets demonstration in DEMO_MODULE
add CMS_WIDGET_... to ease html page development.
improved CMS_CSS_STYLE and WITH_CSS_STYLE
Move draft\library\security\openid under library\security\openid
Made it also compilable with compiler < 7.2
Added a version of ISE Library URI modified to be compilable with compiler <
7.2 Fixed openid when redirection is involved Fixed Openid Attribute Exchange
implementation (AX) Added WSF_REQUEST.items_as_string_items: ... for
convenience, and ease integration with other components (such as the new
openid)
updated relative path
2013-02-27 Jocelyn Fiat <jfiat@eiffel.com>
OpenID consumer implementation REQUIRES EiffelStudio 7.2
First version of OpenID consumer (light implementation)
Added a way to call a callback on launched and stopped for Nino connector
Provided a way to report cURL error code back to http_client, via
HTTP_CLIENT_RESPONSE
Provided `url_encoded_name' on the WSF_VALUE interface
2013-02-26 Jocelyn Fiat <github@djoce.net>
Use append_to_html rather than function to_html: STRING this is mainly to
avoid creating useless intermediary strings.
2013-02-21 Jocelyn Fiat <jfiat@eiffel.com>
Added functionalities to CMS_FORM_.. classes
2013-02-20 Jocelyn Fiat <jfiat@eiffel.com>
Fixing various form urls, that was not taking into account base url
2013-02-19 Jocelyn Fiat <jfiat@eiffel.com>
Fixed absolute url computing for CMS
Code cleaning and use HTTP_DATE instead of duplicating code.
2013-02-15 Jocelyn Fiat <jfiat@eiffel.com>
Now the cms.ini resolves variable ${abc} ... and key is case insensitive
keep compilable with EiffelStudio <= 7.1
Refactorying the CMS component, to have an effective CMS_SERVICE, and setup
as CMS_SETUP. This way the application is much simpler, no need to implement
deferred feature of CMS_SERVICE.
2013-02-14 Jocelyn Fiat <jfiat@eiffel.com>
Now also display sublinks if link is expanded. Updated theme
Fixed register and new password link when the CMS's base dir is not the root
/
Improve CMS_LINK to easily add children
2013-02-05 Jocelyn Fiat <jfiat@eiffel.com>
added CMS_FORM_SELECT.select_value_by_text
remove unwanted console output
2013-02-04 Jocelyn Fiat <jfiat@eiffel.com>
Reviewed initialization and usage of various CMS_SERVICE urls
more flexible permission control system ...
Updated CMS experimental component Fixed various issues with fieldset or
similar not traversed
2013-01-31 Jocelyn Fiat <jfiat@eiffel.com>
Fixing global EWF compilation
Updated CMS code. Separated code to have a lib and an example. Improved
design, fixed a few issues related to folder location. This is still
experimental and require more work to be really friendly to use.
Added ANSI C date time string format support in HTTP_DATE.
Fixed HTTP_DATE for GMT+ offset (integer value)
Added HTTP_DATE to ease http date manipulation and optimize code rather than
using EiffelTime's code facilities. Added autotests to `http' lib.
2013-01-23 Jocelyn Fiat <jfiat@eiffel.com>
Removed eel and eapml contrib/library from EWF Since there are available from
$ISE_LIBRARY
2013-01-23 Olivier Ligot <oligot@gmail.com>
Use execution_variable instead of context This is mainly to be compatibe
with other classes API. In a lot of classes, we define methods like this:
```Eiffel method (req: WSF_REQUEST; res: WSF_RESPONSE) do ... end ``` With
the context, the signature becomes: ```Eiffel method (ctx: C; req:
WSF_REQUEST; res: WSF_RESPONSE) do ... end ``` So, I can't build a filter
chain where one filter is with context and one is without context (I can't
call WSF_FILTER.set_next (a_next: WSF_FILTER) with a filter that is a
descendant of WSF_CONTEXT_HANDLER). Moreover, having to play with generic
types just to pass some data from one filter to another is a bit overkill
imho. Because this is really what I use contexts for: to pass data from one
filter to the next one. Regarding execution_variable and strong typing, if
we want to achieve these, I realize we could write a class with one getter
and one setter like this: ```Eiffel class TYPED_DATA feature -- Access
user (req: WSF_REQUEST): detachable USER do if attached {USER}
req.execution_variable ("user") as l_user then Result := l_user end end
feature -- Element change set_user (req: WSF_REQUEST; a_user: USER) do
req.set_execution_variable ("user", a_user) end ``` Now, I realize this is a
major change since the last time we talked about this, but at the end, after
having played with both, I prefer the one with execution_variable.
2013-01-09 Olivier Ligot <oligot@gmail.com>
Cross-Origin Resource Sharing initial support Initial support for the
Cross-Origin Resource Sharing specification. This allows JavaScript to make
requests across domain boundaries. Also reviewed the filter example to get
rid of the context and the generic classes (we can actually use
{WSF_REQUEST}.execution_variable and {WSF_REQUEST}.set_execution_variable).
Links: * How to enable server-side: http://enable-cors.org/server.html *
Specification: http://www.w3.org/TR/cors/ * Github:
http://developer.github.com/v3/#cross-origin-resource-sharing
2012-12-22 Jocelyn Fiat <jfiat@eiffel.com>
Added http_authorization which is now needed by example filter.
minor changes
2012-12-20 Jocelyn Fiat <jfiat@eiffel.com>
added WSF_SUPPORT.environment_item
Added is_available on HTTP_CLIENT_SESSION mainly to check if libcurl is
available.
Avoid calling ANY.print, prefer io.error.put_string Fixed obsolete calls.
Added support for server_name in nino, and openshift
Added support for server name
updated conneg .ecf
Added openshift connector classes (for experimentation)
Added comment to self documentation features
2012-12-19 Jocelyn Fiat <jfiat@eiffel.com>
Added a few library_target to .ecf to be able to build the tests/all-safe.ecf
that enables us to check quickly the compilation state of EWF, and also
perform refactorying over many projects.
Breaking changes: added `a_request_methods' argument to
WSF_ROUTER_SELF_DOCUMENTATION_HANDLER.mapping_documentation added similar
argument to WSF_ROUTER_SELF_DOCUMENTATION_ROUTER_MAPPING.documentation
Renamed WSF_ROUTER_METHODS as WSF_REQUEST_METHODS Enhanced
WSF_REQUEST_METHODS with new has_... function Added WSF_ROUTER_VISITOR and
WSF_ROUTER_ITERATOR that may be useful to iterate inside the router. we may
improve the implementation of the router using those visitors in the future.
Improved the WSF_DEFAULT_RESPONSE to embedded suggested items (typically
based on pseudo self documented router)
Fixed issue in WSF_REQUEST.read_input_data_into when the content is zero
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.
Fixed WSF_RESPONSE chunk transfer implementation and also the optional
extension `a_ext' should now include the ';' Now HTTP_HEADER is an ITERABLE
[READABLE_STRING_8]
Fixed various assertions. Improved autotests Added target 'server' to be able
to run the server outside the test process.
2012-12-18 Jocelyn Fiat <jfiat@eiffel.com>
Fixed reading chunked input data When retrieving data block by block, use
8_192 instead of 1_024 (since 1_024 is too small most of the time)
Added logger response wrapper, this is mainly to be able to save any response
message to a file. (debugging purpose)
Added basic support for "Expect" http header i.e: WSF_REQUEST.http_expect:
detachable READABLE_STRING_8 Added WSF_REQUEST.request_time_stamp:
INTEGER_64
2012-12-14 Jocelyn Fiat <jfiat@eiffel.com>
Added WSF_DEFAULT_*_RESPONSE Fixed the method not allowed by setting the
Allow: header
2012-12-13 Jocelyn Fiat <jfiat@eiffel.com>
removed unused local variables
added code that may be used to avoid breaking compatibility with new Eiffel
Studio 7.2 This is experimental for now.
Added to WSF_REQUEST - raw_header_data: like meta_string_variable -
read_input_data_into (buf: STRING) - is_content_type_accepted
(a_content_type: READABLE_STRING_GENERAL): BOOLEAN Changed raw_input_data to
return IMMUTABLE_STRING_8 Added WSF_METHOD_NOT_ALLOWED_RESPONSE Added
WSF_TRACE_RESPONSE to respond TRACE request Now Not_found response return
html content if the client accepts, other text/plain Implemented TRACE
response, and Method not allowed as implementation of
WSF_ROUTED_SERVICE.execute_default
Added missing "context" classes for uri and starts_with mapping+handler (and
helper classes). So that it is address more needs. Factorized code between
"context" and non context classes.
2012-12-11 Colin Adams <colinpauladams@gmail.com>
Actioned Jocelyns comments re. a_req and a_res
2012-12-10 Olivier Ligot <oligot@gmail.com>
Fix {JSON_OBJECT}.hash_code implementation Don't call
{HASH_TABLE}.item_for_iteration when {HASH_TABLE}.off Use {HASH_TABLE}.out
instead
2012-12-10 Jocelyn Fiat <jfiat@eiffel.com>
Get rid of obsolete scripts (we do not use git submodule anymore, so this is
much easier .. for the users)
2012-12-07 Jocelyn Fiat <jfiat@eiffel.com>
make it compiles with EiffelStudio 7.1 and 7.2
2012-12-06 Colin Adams <colinpauladams@gmail.com>
Revert do_get_head patch
2012-12-05 Jocelyn Fiat <jfiat@eiffel.com>
corrected null connector ecf files
added tests\all-safe.ecf to compile most of EWF's lib, to quickly check the
compilation state
use libfcgi(-safe).ecf rather than fcgi(-safe).ecf
Prepare upcoming support for unicode environment variables
removed fcgi(-safe).ecf files ... since there renamed libfcgi(-safe).ecf
2012-12-04 Olivier Ligot <oligot@gmail.com>
ise_wizard Unix shell scripts
2012-12-03 Olivier Ligot <oligot@gmail.com>
Fix ise_wizard * ewf.ini was used instead of template.ecf as configuration
file * remove initialize_router otherwise the compilation failed * remove
unused variables
Logging filter The logging filter is now part of EWF core (before it was
only available in the filter example) and can therefore be reused by others
needing it. Note that this is a first implementation. It can certainly be
improved in the future to support more fine grained logging.
2012-12-05 Jocelyn Fiat <jfiat@eiffel.com>
added tests\all-safe.ecf to compile most of EWF's lib, to quickly check the
compilation state
use libfcgi(-safe).ecf rather than fcgi(-safe).ecf
Prepare upcoming support for unicode environment variables
removed fcgi(-safe).ecf files ... since there renamed libfcgi(-safe).ecf
2012-12-04 Olivier Ligot <oligot@gmail.com>
ise_wizard Unix shell scripts
2012-12-03 Olivier Ligot <oligot@gmail.com>
Fix ise_wizard * ewf.ini was used instead of template.ecf as configuration
file * remove initialize_router otherwise the compilation failed * remove
unused variables
Logging filter The logging filter is now part of EWF core (before it was
only available in the filter example) and can therefore be reused by others
needing it. Note that this is a first implementation. It can certainly be
improved in the future to support more fine grained logging.
2012-12-03 Jocelyn Fiat <jfiat@eiffel.com>
Fixed various compilation issue with new self documentation Improved the self
documentation handler to provide a make_hidden creation procedure
updated ecf path
2012-11-26 Jocelyn Fiat <jfiat@eiffel.com>
Added debug clause to detect in WSF_ROUTER.map_with_request_methods the
existing conflicts with similar mapping. Added smart handling of HEAD
request. Exported some internal features of WSF_REQUEST and WSF_RESPONSE to
respectively WSF_REQUEST_EXPORTER and WSF_RESPONSE_EXPORTER
added debug_output to WSF_ROUTER_MAPPING
2012-11-25 Jocelyn Fiat <jfiat@eiffel.com>
Included the library base(-safe).ecf which was forgotten by mistake.
2012-11-24 Colin Adams <colinpauladams@gmail.com>
Completed first pass for HTTP 1.1 conformace contracts
Added framework for HTTP-conforming contracts
2012-11-23 Jocelyn Fiat <jfiat@eiffel.com>
New design for self documented router. The documentation is built only on
demand. A mapping entry can be hidden for the documentation One can change
the status code when building itself the
WSF_ROUTER_SELF_DOCUMENTATION_MESSAGE
Made encoder and error library compilable with 6.8
Added SHARED_... classes for encoders (html, url, xml, json, ...)
Updated signatures for the self documentated message
Added WSF_ROUTER.has_item_associated_with_resource and
item_associated_with_resource Added WSF_ROUTER_MAPPING.associated_resource
Added WSF_ROUTER_SELF_DOCUMENTATION_HANDLER and
WSF_ROUTER_SELF_DOCUMENTATION_MESSAGE to provide a self documentation for
WSF_ROUTER (for now, only HTML)
2012-11-21 Jocelyn Fiat <jfiat@eiffel.com>
Include the `url' in the http client response. This way, we can get the real
url used by the lib, especially when there are query parameters.
2012-11-20 Jocelyn Fiat <jfiat@eiffel.com>
Added WSF_ROUTER_ITEM to replace a structure represented with named TUPLE
Added debug_output to ease debugging
Removed pseudo rest library from draft libraries.
2012-10-22 Jocelyn Fiat <jfiat@eiffel.com>
Added WSF_REQUEST_UTILITY_PROXY, that provides the WSF_REQUEST_UTILITY
features to a class that implement request: WSF_REQUEST
Added WSF_ROUTING_CONTEXT_HANDLER
2012-10-08 Jocelyn Fiat <jfiat@eiffel.com>
Removed generic parameter in WSF_FILTER_HANDLER, since it is useless and make
code heavy
Updated "filter" example
2012-10-04 Jocelyn Fiat <jfiat@eiffel.com>
Updated Copyright
updated copyright
Added notion of mapping factory, so one can implement a handler without
having to implement new_mapping Added filter context handler Added
WSF_STARTS_WITH_ROUTING_HANDLER and WSF_URI_ROUTING_HANDLER (in addition to
the uri template version)
2012-10-02 jvelilla <javier.hector@gmail.com>
Fixed wsf_extension.ecf path, in the example RestBucksCRUD. Replace the
assigment attempt with attached syntax
2012-10-01 Jocelyn Fiat <jfiat@eiffel.com>
Fixed some configuration files (ecf) Fixed various compilation issue Fixed
draft rest library (still experimental and should be removed in the future)
2012-09-28 Jocelyn Fiat <jfiat@eiffel.com>
Added initial experimentation of a CMS built with Eiffel
moved wsf_extension inside wsf/extension as wsf/wsf_extension.ecf added
wsf/session as wsf/wsf_session.ecf In descendants of WSF_HANDLER , we can
keep the result of new_mapping as WSF_ROUTER_MAPPING
2012-09-27 Jocelyn Fiat <jfiat@eiffel.com>
Reviewed the semantic of the handler context. Adapted existing code to fit
the new router design.
2012-09-25 Jocelyn Fiat <jfiat@eiffel.com>
Applied new ROUTER design to the whole EWF project.
2012-09-11 Jocelyn Fiat <jfiat@eiffel.com>
Minor implementation changes (feature renaming, ... )
2012-09-10 Jocelyn Fiat <jfiat@eiffel.com>
New ROUTER design, much simpler, less generic, easier to extend, and now one
can mix uri map, uri_template map and so on. Update the "tutorial" example.
2012-09-12 Olivier Ligot <oligot@gmail.com>
[FIX] Convertion from HASH_TABLE keys to JSON
2012-09-11 Jocelyn Fiat <jfiat@eiffel.com>
Added general_encoded_string (..) that accepts READABLE_STRING_GENERAL
2012-09-10 Jocelyn Fiat <jfiat@eiffel.com>
added WSF_VALUE.is_empty: BOOLEAN
Added put_expires_string (s: STRING) and put_expires_date (dt: DATE_TIME)
Better implementation for WSF_FILE_RESPONSE (added last modified, and other
caching related info)
2012-08-28 Jocelyn Fiat <jfiat@eiffel.com>
Fixed source code for building and installing the ISE Wizard
2012-08-13 jocelyn <github@djoce.net>
Updated Projects Suggestions (markdown)
Updated Projects Suggestions (markdown)
Updated Project suggestions (markdown)
2012-08-10 Olivier Ligot <oligot@gmail.com>
[ADD] Filter: pre-process incoming data and post-process outgoing data
Filters are part of a filter chain, thus following the chain of
responsability design pattern. More information are available in
library/server/wsf/src/filter/README.md
2012-08-08 Jocelyn Fiat <jfiat@eiffel.com>
removed "getest" since it is duplication with autotest (and we use mainly the
later for regression testing)
Added JSON_PRETTY_STRING_VISITOR Added converter for ARRAYED_LIST Fixed
STRING_32 to JSON_VALUE issue in ejson.e Added missing new line character at
the end of some files. Cosmetic
2012-06-29 Jocelyn Fiat <jfiat@eiffel.com>
updated to use WSF_STRING.value instead of obsolete WSF_STRING.string
Better code for tutorial example.
2012-06-28 jocelyn <github@djoce.net>
Updated EWSGI specification: difference in main proposals (markdown)
2012-06-27 Jocelyn Fiat <jfiat@eiffel.com>
use svn export instead of svn checkout
2012-06-26 Jocelyn Fiat <jfiat@eiffel.com>
If library/cURL exists, do not copy cURL to contrib/library/network/cURL
2012-06-22 Jocelyn Fiat <jfiat@eiffel.com>
Added simple console wizard for Eiffel Studio. (It is not very user friendly,
this is a first draft) It should be improved in the future (with GUI, ...)
2012-06-20 Jocelyn Fiat <jfiat@eiffel.com>
When installing, remove the folder "fonts" from the nino's example
2012-06-19 Jocelyn Fiat <jfiat@eiffel.com>
Put examples under examples/web/ewf/...
2012-06-19 Jocelyn Fiat <github@djoce.net>
IfECF_PATH_UPDATER is defined, let's use it to find ecf_updater executable
2012-06-18 Jocelyn Fiat <github@djoce.net>
put everything under contrib for now, eventually svn checkout missing parts
2012-06-18 Jocelyn Fiat <jfiat@eiffel.com>
Final version of the install scripts.
Fixed typo and path separators usage in dos batch scripts
Install script does the same on Windows and Linux
improved install_ewf.sh , and removed usage of deleted router.ecf
2012-06-15 Jocelyn Fiat <jfiat@eiffel.com>
Updated install_ewf.sh
Updated draft library (consider it as draft quality)
updated eel and eapml from more recent versions.
Moved eel and eapml under the contrib folder.
Fixing wrong path for ewsgi connector nino (this was introduced recently when
we moved folder location)
2012-06-14 Jocelyn Fiat <jfiat@eiffel.com>
Updated structure of EWF, applied Now "nino" is under
contrib/library/network/server/nino (as git merge subtree, and not anymore
as submodule)
2012-06-13 Jocelyn Fiat <jfiat@eiffel.com>
Change structure of EWF, to follow better categorization
Better script, do not use default folder without asking.
Added temporary scripts to install EWF on Windows
2012-06-11 Jocelyn Fiat <jfiat@eiffel.com>
Adopted convention name and value or values for WSF_VALUE and descendant
(WSF_STRING ...) 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)
2012-05-30 Jocelyn Fiat <github@djoce.net>
Added html encoding facility to WSF_STRING 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)
2012-05-28 Jocelyn Fiat <github@djoce.net>
Applied recent changes made on EWF Updated copyright
Now inherit create_router ; but it is still possible to redefine it. Added
some wsf_reponse_message for redirection Use "found" for the redirec_now ...
Added content to the tutorial
2012-05-25 Jocelyn Fiat <jfiat@eiffel.com>
Added descriptions to WSF_RESPONSE about .send (mesg) Fixed minor issues in
other classes
Added more content to the tutorial
Protected export of WSF_RESPONSE_MESSAGE.send_to 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
added skeleton for tutorial_i text
Updated indexing notes started tutorial Sync
2012-05-15 Jocelyn Fiat <github@djoce.net>
added some git tips in doc
2012-05-14 Jocelyn Fiat <github@djoce.net>
Rather use (READABLE_)STRING_GENERAL for argument instead of _8 or _32
variant 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)
Updated URI Template to follow official RFC6570
2012-05-07 Jocelyn Fiat <github@djoce.net>
Reviewed WSF_REQUEST.item (..) and items to look into Form, Query, and Path
(cookie are excluded for security) 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.
2012-05-04 Jocelyn Fiat <github@djoce.net>
Removed HTTP_CLIENT_SESSION.post_multipart .. because it was not doing what
the name might evoque Restrict export of
HTTP_CLIENT_REQUEST_CONTEXT.upload_data and upload_filename (and related) to
.._SESSION and .._REQUEST this is mainly internal data, and is more about
implementation than interface
Now the http_client will send the form parameters urlencoded if this is
possible (instead of multipart form data) Note for now, the library does not
support sending file and form parameters at the same time.
2012-05-03 Jocelyn Fiat <github@djoce.net>
Fixed typo in .ecf .. curl instead of cURL
Added geant scripts to compile EWF
Improved the libcurl implementation of http_client by adding
HTTP_CLIENT_SESSION.is_debug: BOOLEAN 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 (..)
2012-05-02 Jocelyn Fiat <github@djoce.net>
Also removing the implicit conversion from STRING to HTTP_*_TYPE
Removed implicit conversion from HTTP_CONTENT_TYPE to STRING_8 because it
could be a source of bug due to hidden conversion (and parameters) Applied
changes to autotest cases Cosmetic
2012-04-30 Jocelyn Fiat <github@djoce.net>
Fixed signature issue, the argument `name' should be READABLE_STRING_32
2012-04-27 Jocelyn Fiat <github@djoce.net>
cosmetic
2012-04-13 Jocelyn Fiat <github@djoce.net>
Fixed a last minute regression due to removal REQUEST.chunked_input
Added WSF_ROUTER.pre_route_execution_actions: ACTION_SEQUENCE [like route]
This way, one can add logger hook to router, to see which "route" was taken
by the request.
Made WGI_CHUNKED_INPUT_STREAM inherits from WGI_INPUT_STREAM 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.
2012-04-12 Jocelyn Fiat <github@djoce.net>
Fixed compilation of samples
Fixed compilation
Now WGI_RESPONSE.set_status_code (..) has a new argument to pass optional
custom reason phrase. 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
2012-04-05 Jocelyn Fiat <github@djoce.net>
Removed default handler for WSF_ROUTER Added WSF_ROUTE to replace a TUPLE
[H, C] WSF_ROUTER.route (req): detachable WSF_ROUTE WSF_ROUTER.execute_route
(a_route, req, res) To help usage of Routers Remove WSF_HANDLER_CONTEXT
obsolete features. Added comments
2012-03-23 Jocelyn Fiat <github@djoce.net>
Renamed same_media_type as same_simple_type Added comments
Added HTTP_MEDIA_TYPE (maybe it will just replace the HTTP_CONTENT_TYPE
later) renamed .media_type as .simple_type for now allow more than one
parameters
Use media_type as replacement for type_and_subtype_string in
HTTP_CONTENT_TYPE
Added class HTTP_CONTENT_TYPE to help manipulation of Content-Type value Now
WSF_REQUEST return a HTTP_CONTENT_TYPE if available Adapted WSF_MIME_HANDLER
to use this new class Added one manual autotest to test MIME handler
2012-03-21 Jocelyn Fiat <github@djoce.net>
in WSF_RESPONSE, `put_header' now call `put_header_text' Removed unused local
variable
2012-03-20 Jocelyn Fiat <github@djoce.net>
Fixing compilation of specific example using the WGI connector directly
Added WSF_SERVICE.to_wgi_service to ease direct integration with existing WGI
components
Relaxed access to `send_to', now it is exported again to avoid breaking
existing code.
Implemented WSF_RESPONSE.put_error (...) and related 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
Moved mime handler classes under wsf/src/mime/
2012-03-19 Jocelyn Fiat <github@djoce.net>
Updating EWSGI specification classes
Removed WGI_RESPONSE.write (..) 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
2012-03-17 Berend de Boer <berend@pobox.com>
Move wgi_service spec to its own directory else I get a class conflicts with
compile_ise.ecf generated by gexace.
2012-03-19 Jocelyn Fiat <github@djoce.net>
Improved comment in WSF_RESPONSE.put_response (..) Added
WSF_REDIRECTION_RESPONSE class
Added WSF_RESPONSE_HANDLER based on WSF_RESPONSE_MESSAGE The descendant has
to implement the function response (ctx: C; req: WSF_REQUEST):
WSF_RESPONSE_MESSAGE Added related features and class in WSF_ROUTER to be
able to use agent easily.
Refactored WSF_HANDLER_CONTEXT - removed path_parameter - added `item' to
include WSF_REQUEST.item - marked obsolete `parameter' The goal is to remove
confusion, remove URI_TEMPLATE specific `path_parameter' and provide a way to
use ctx.item (..) to also include meta variable, query, form, ... items
2012-03-16 Jocelyn Fiat <github@djoce.net>
Applied wsf_extension creation, and classes moved from wsf to wsf_extension
Created wsf_extension, and moved some classes from wsf to wsf_extension
WSF_HANDLER_HELPER WSF_RESOURCE_HANDLER_HELPER WSF_HANDLER_ROUTES_RECORDER
Major renaming, adopt the WSF_ prefix for all classes under "wsf", and
simplify some class names Removed in WGI_INPUT_STREAM, the assertion
"same_last_string_reference" Copyright updates
2012-03-13 Jocelyn Fiat <github@djoce.net>
Fixed compilation of draft/library/server/request/rest/tests/.. Note the
"rest" library will not be maintained since this is not REST.
2012-03-13 jfiat <jfiat@8089f293-4706-0410-a29e-feb5c42a2edf>
Better use C_STRING.substring (1, size) instead of C_STRING.string since we
know the exact size and this way, no risk with \0 character inside the string
itself (for binary data..) Added comments
2012-03-13 Jocelyn Fiat <github@djoce.net>
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.
2012-02-29 Jocelyn Fiat <github@djoce.net>
Added assertions to catch if route mapping does not already exists
2012-02-28 Jocelyn Fiat <github@djoce.net>
Synchronized with nino and json library
2012-02-17 jvelilla <javier.hector@gmail.com>
Refactor REQUEST_RESOURCE_HANDLER_HELPER to figure out the transfer encoding:
Chunked. Added a new method to retrieve_data independently if the transfer is
chunked or not. Updated ORDER_HANLDER to use this new feature. Sync with
Jocelyn repo
2012-02-15 Jocelyn Fiat <github@djoce.net>
Fixed error visitor due to recent signature changes
renamed (add|remove)_synchronized_handler as (add|remove)_synchronization
Removed tests target from encoder(-safe).ecf (now there is a tests-safe.ecf
in folder tests)
Fixed ERROR_HANDLER.destroy Fixed and export
ERROR_HANDLER.remove_synchronized_handler Added comments Added associated
autotests
2012-02-14 Jocelyn Fiat <github@djoce.net>
Better signature for encoders Split library .ecf and the autotest .ecf
Added notion of synchronization between error handler this is convenient to
integrate two components using their own ERROR_HANDLER (not sharing the same
object)
2012-02-14 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Added cURL multi interface support (most APIs) issue#7305157 The multi
interface offers several abilities that the easy interface doesn't. They are
mainly: 1. Enable a "pull" interface. The application that uses libcurl
decides where and when to ask libcurl to get/send data. 2. Enable multiple
simultaneous transfers in the same thread without making it complicated for
the application. 3. Enable the application to wait for action on its own file
descriptors and curl's file descriptors simultaneous easily. More info:
http://curl.haxx.se/libcurl/c/libcurl-multi.html
2012-02-08 unknown <jfiat@xp_pro_32.(none)>
libcurl: Applied a workaround to avoid issue on Win32 (see
LIBCURL_HTTP_CLIENT_REQUEST.apply_workaround) Separated the
http_client-safe.ecf and test-safe.ecf Added
HTTP_CLIENT_SESSION.set_max_redirects Fixed broken test due to formatting
trouble.
2012-02-07 Jocelyn Fiat <github@djoce.net>
Better code to test similar functions but with chunked input
Improved the WSF_PAGE_RESPONSE to be more flexible and allow to change some
values as expected.
Added support for chunked input data (see Transfer-Encoding: chunked)
Added proxy, at least to make it is possible to use http://fiddler2.com/ to
inspect the traffic.
2012-02-01 Jocelyn Fiat <github@djoce.net>
removed unwanted set_status_code, since we already use put_header to set the
status code.
Eventually fixing trouble with c_strlen being over capacity (added this for
testing, and while waiting a fix from EiffelcURL)
Improved redirect_now_custom to allow custom status code, custom header, and
custom content
2012-01-31 Jocelyn Fiat <github@djoce.net>
Fixed usage of lst[] in web form, now we are url-decoding the name because
the [] could escaped... Fixed bad code for assertion related to variable
url-encoded name
added REQUEST_HANDLER_CONTEXT.string_array_path_parameter (...) to help user
handling list/array parameters fixed postcondition
WSF_REQUEST.set_meta_string_variable ...
2012-01-25 Jocelyn Fiat <github@djoce.net>
Make sure to return a response Added precondition to check URI_TEMPLATE is
valid
2012-01-20 Jocelyn Fiat <github@djoce.net>
Corrected remaining issue related to recent addition of
REQUEST_ROUTER.make_with_base_url And applied removal of format_name and
format_id, and replaced by accepted_format_name, ...
2012-01-20 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Removed the ECF bounds license file and replaced them with `license.lic'
files. Made sure all license are the Eiffel Forum License 2.
2012-01-20 Jocelyn Fiat <github@djoce.net>
Removed any "format" related query from router lib, this is too application
specific to be there. Better handling of base_url for REQUEST_ROUTER
2012-01-19 Jocelyn Fiat <github@djoce.net>
separate library .ecf and tests .ecf merged tests .ecf for draft 05 and
current implementation
Fixed WSF_REQUEST.script_url (..) for clean path Added related autotests
2012-01-17 Jocelyn Fiat <jfiat@eiffel.com>
export handler from REQUEST_ROUTER
2012-01-17 Jocelyn Fiat <github@djoce.net>
REQUEST_ROUTER now inherit from ITERABLE [..]
2012-01-13 Jocelyn Fiat <github@djoce.net>
Synchronized with ejson library Cleaned JSON_ENCODER
2012-01-13 jfiat <jfiat@eiffel.com>
Renamed JSON_STRING.unescaped_string as unescaped_string_8 + code cleaning
Better support for special character and unicode (\n \r \" ... and \uXXXX
where XXXX is an hexadecimal value) Added features to JSON_STRING -
make_json_from_string_32 (READABLE_STRING_32) - escaped_string_8: STRING_8 -
escaped_string_32: STRING_32 Added associated autotests
2012-01-12 Jocelyn Fiat <github@djoce.net>
Added JSON_ENCODER
2012-01-09 Jocelyn Fiat <github@djoce.net>
removed obsolete call on `WSF_RESPONSE.write_..' by using the up-to-date
`WSF_RESPONSE.put_..'
2012-01-06 Jocelyn Fiat <github@djoce.net>
HTTP_HEADER: - added put_last_modified - 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
2011-12-18 Jocelyn Fiat <github@djoce.net>
added REQUEST.execution_variables ... to provide a solution to store data
during request execution could be used for SESSION, or any "shared" data
inside the same Request
applied write_ as put_ renaming to examples
2011-12-15 Jocelyn Fiat <github@djoce.net>
various minor changes
use /usr/lib/libfcgi.so instead of /usr/local/lib/libfcgi.so
Applied renaming from write_ to put_
Renamed write_ feature as put_
Fixed typo and missing uri_template reference for draft rest library
Now the 'router' library is part of 'wsf' Move hello_routed_world under
tests/dev since it was not really an example, but more a dev workspace/test
Made DEFAULT_SERVICE_LAUNCHER more flexible for the user.
2011-12-14 Jocelyn Fiat <github@djoce.net>
Use port 9090 for restbuck server mainly to avoid using 80 or 8080 which are
often already used (by current webserver, or even skype, or jenkins, or ...)
Forgot to add make_and_launch_with_options to the creation procedures
Added DEFAULT_SERVICE_LAUNCHER.make_and_launch_with_options Added
WSF_RESPONSE.redirect_now_with_content (...) Updated hello_routed_world ..
mainly example use to test/develop... not really a nice example
2011-12-12 Jocelyn Fiat <github@djoce.net>
Removed dotnet target for now
Fixed HTTP client callers
Renamed DEFAULT_SERVICE as DEFAULT_SERVICE_LAUNCHER
Fixed WSF_FILE_RESPONSE and added WSF_FORCE_DOWNLOAD_RESPONSE
Removed any (put|write)_file_content from the WSF_ or WGI_ OUTPUT classes 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
Handling bad incoming request (keep a check assertion to help during
debugging period)
2011-12-10 jvelilla <javier.hector@gmail.com>
Update restbuck client, create and read an order. Update JSON converter, the
id is not important, applied the DRY principle. Update the ORDER_HANDLER to
use the meta_string_variable instead of meta_variable from req. Fix, the key
in meta_variable_table, use c.key instead of c.item
2011-12-09 jvelilla <javier.hector@gmail.com>
Update the restbuck_client, still work in progress. Update restbuck_server,
remove unused class in inherit. Update libcurl_http_client_request, to parse
context headers before the execution. Update wgi_input_stream, commented
precondition.
2011-12-08 jvelilla <javier.hector@gmail.com>
Updated restbucksCRUD documentation
Added basic two basic examples, refactor rename restbucks to restbucksCRUD
2011-12-07 jvelilla <javier.hector@gmail.com>
Sync Jocelyn repo
2011-12-02 Jocelyn Fiat <github.pub@djoce.net>
Fixed compilation issue for CGI and libFCGI connector due to recent changes
in interface (use READABLE_STRING_8)
2011-12-01 Jocelyn Fiat <github@djoce.net>
Integrated new system to handle form_parameter, input_data in relation with
MIME handling This is not yet clear how to let the user precise its own MIME
handler but it is in progress
Added WSF_RESPONSE.write_chunk (s: ?READABLE_STRING_8) to help user sending
chunk with "Transfer-Encoding: chunked"
Synchronized with Nino
various renaming and preparation to merge Thread and SCOOP implementation of
Eiffel Web Nino
sync with Nino, call to put_readable_string_8
2011-12-01 jvelilla <javier.hector@gmail.com>
Updated Conneg library, added test cases
2011-11-30 Jocelyn Fiat <github@djoce.net>
Removed initial Thread for the HTTP_HANDLER, this is not needed here Removed
HTTP_SERVER_SHARED_CONFIGURATION from the library ... not needed by the
library. Added HTTP_SERVER_SHARED_CONFIGURATION to the example to show how
to share the configuration, if needed
2011-11-30 jvelilla <javier.hector@gmail.com>
Fixed minor issue, added test cases to check language negotiation.
Update conneg library and test cases
2011-11-25 Jocelyn Fiat <github@djoce.net>
- (WGI|WSF)_RESPONSE(*) renamed write_headers_string as write_header_text -
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
Applied recent renaming from WGI_RESPONSE_BUFFER as WGI_RESPONSE
Added `{WGI_REQUEST}.wgi_*' function to WSF_REQUEST
rename `application' as `service'
Use HTTP_HEADER instead of WSF_HEADER (WSF_HEADER is kept for convenience and
existing code)
Moved implementation of WSF_HEADER to HTTP_HEADER in the http library
Simplified EWSGI interfaces Renamed WGI_RESPONSE_BUFFER as WGI_RESPONSE to
avoid confusion Removed EWF_HEADER and removed related caller from WGI
implementation, now this is only part of WSF library Added wgi_version,
wgi_implementation and wgi_connector to the WGI_REQUEST interface to give
more information to the user Added back WGI_CONNECTOR to WGI specification,
mainly because of `{WGI_REQUEST}.wgi_connector' simplified WGI_CONNECTOR to
contain for now only `name' and `version' if the implementation of connector
inherit from WGI_CONNECTOR (recommended) this might gives more access to the
user using a reverse assignment for specific needs (but this usage is not
recommended due to portability issue on other connector) Removed useless
connector.ecf since now EWF/WGI library provides the helper classes
2011-11-23 Jocelyn Fiat <github@djoce.net>
Fixed sample example config file after recent location change for "rest" lib
fixed rest(-safe).ecf due to recent location change
Move "rest" library under "draft/..." since it is more an experiment rather
than a real REST library
2011-11-21 Jocelyn Fiat <github@djoce.net>
updated Eiffel libfcgi README file
Added scripts to help building the libfcgi.dll and .lib from modified source
of libfcgi Extracted into "libfcgi" only the files needed to compile the
Windows .dll and .lib
Added scripts to help building the libfcgi.dll and .lib from modified source
of libfcgi
2011-11-21 jfiat <jfiat@eiffel.com>
Removing autotest dotnet target, since Autotest does not support .Net
platform for now
Fixed code from autotest tests to remove warnings Fixed getest ejson_test.ecf
configuration file Added script to allow using getest from Windows. Note: I
did not fixed warning from getest tests, we should apply same change already
made for autotest. it seems autotest and getests are doing the same checking,
I would suggest to either remove getest files or find a way to share test
code between getest and autotest tests.
2011-11-18 Jocelyn Fiat <github@djoce.net>
fixed compilation for tests.ecf
Updated "draft" folder which contain potential future addition to EWF
Added "draft" folder to contain potential future addition to EWF
restructured CONNEG library fixed various issue in .ecf files
2011-11-17 jvelilla <javier.hector@gmail.com>
Initial import CONNEG library, support server side content negotiation.
2011-11-17 Jocelyn Fiat <github@djoce.net>
Renamed "ext" folder as "contrib" folder and reorganized a little bit Renamed
any *_APPLICATION as *_SERVICE mainly because those components such as
WSF_APPLICATION, renamed as WSF_SERVICE are not always the main application
entry, and "service" describe them better Minor implementation change in
WSF_REQUEST Cosmetics
2011-11-16 Jocelyn Fiat <github@djoce.net>
Added request method PATCH even if not really used for now, it might in the
future
2011-11-14 Jocelyn Fiat <github@djoce.net>
Added various README.md (using the markdown syntax)
Applied the removal of HTTP_INPUT_STREAM and HTTP_OUTPUT_STREAM to the
example.
Added default WSF_APPLICATION for libfcgi connector
Updated libfcgi source code for Windows AND Linux. Cleaning some code and
feature clauses.
Changed the WGI_INPUT_STREAM and WGI_OUTPUT_STREAM interfaces main changes
for existing code `read_stream' is renamed `read_string'
2011-11-10 Jocelyn Fiat <github@djoce.net>
Removed HTTP_(INPUT,OUTPUT)_STREAM, since it is unlikely that we use
something else than TCP_STREAM_SOCKET This way, we remove one indirection for
users, and get smaller code.
2011-11-04 Jocelyn Fiat <github@djoce.net>
sync with nino and applied changes to connector
removed useless "a_name" argument Fixed typo in on_launched
Use recent changes from Nino, to get access to the launched and port
information. Quite useful when launching using port=0 to use a random free
port. This is great for testing, this way we can run many tests in the same
time without any port blocking.
2011-11-03 Jocelyn Fiat <github@djoce.net>
applied recent changes from Nino
added access to the effective port that the server is listening to (useful
when we set port to 0 it use a random free port) added verbose , so that we
write message to the console only if desired.
2011-11-02 Jocelyn Fiat <github@djoce.net>
removed compliance on ewsgi, since now we target WSF applied recent changes
related to WSF_VALUE
Safer interface for WSF_VALUE, when related to STRING value
sync with submodules
renamed WSF_(.*)_VALUE as WSF_$1
2011-10-31 Jocelyn Fiat <jfiat@eiffel.com>
fixed path to cURL.ecf file, using the correct uppercase
Better implementation to get http header for http_client, and to get list of
header entries by key,value
updated instructions related to submodules
Fixed remaining 6.8 vs 7.0 compilation issue related to UTF8_(URL_)ENCODER
Fixed code to be compilable with EiffelStudio 6.8 and 7.0 (due to recent
change in UNICODE_CONVERSION) UNICODE_CONVERSION
2011-10-27 Jocelyn Fiat <jfiat@eiffel.com>
Fixed a previously character changes in WSF_REQUEST (related to
safe_filename), and modified the implementation to use inspect Fixed the
request_content_type computation Cosmetic in REQUEST_RESOURCE_HANDLER_HELPER
added script to update current git working copy and submodules recursively
2011-10-27 Jocelyn Fiat <github@djoce.net>
cosmetic, or minor changes
2011-10-27 jvelilla <javier.hector@gmail.com>
Added eel and eapml in EWF libraries. Removed them from gitmodule
2011-10-24 Jocelyn Fiat <github@djoce.net>
Added visitor patterns to WSF_VALUE Handling UTF-8 unencoding for WSF_VALUE
... Added WSF_TABLE_VALUE to handle list[]=a&list[]=b ... Library encoder:
added UTF8 facilities
2011-10-23 jvelilla <javier.hector@gmail.com>
Update delete method to hanlde method not allowed. Added method not allowed
to request resource handler helper class. Update gitmodules
2011-10-21 Jocelyn Fiat <github@djoce.net>
Applied recent changes on WGI_ and WSF_ Moved classes away from ewsgi,
restructured, cleaned
Continued reducing WGI and move implementation to WSF (Web Server Framework)
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
2011-10-19 Jocelyn Fiat <github@djoce.net>
First try to get a limited WGI_ and use WSF_ as default framework
2011-10-21 jvelilla <javier.hector@gmail.com>
Update Restbucks example: Conditional GET, PUT. Added a response method to
support resource not modified. Added a ETAG_UTILS class to calcule
md5_digest. Added ext libs eel and eapml.
2011-10-14 Jocelyn Fiat <github@djoce.net>
fixed cgi and libfcgi connectors due to recent changes from WGI_APPLICATION
Removed handling of internal error from WGI_APPLICATION And for now added it
into nino connector
Added HTTP_FILE_EXTENSION_MIME_MAPPING Added REQUEST_FILE_SYSTEM_HANDLER to
the router library Added file system handler in "hello_routed_world" example
2011-10-13 jvelilla <javier.hector@gmail.com>
Added handle_resource_conflict_response feature to handle 409 reponse,
Cosmetic.
2011-10-12 Jocelyn Fiat <jfiat@eiffel.com>
Added data and file for post and put request methods
2011-10-12 Jocelyn Fiat <github@djoce.net>
Using Transfer-Encoding: chunked in example to send response progressively
sync with submodules
2011-10-12 Jocelyn Fiat <jfiat@eiffel.com>
Addition to "http" library, separated constants into - 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
2011-10-11 jvelilla <javier.hector@gmail.com>
Update order_handler, fix json_order_converter
2011-10-11 Jocelyn Fiat <github@djoce.net>
Use local curl if compiler is < 7.0.8.7340 otherwise, use ISE_LIBRARY cURL
Temporary fixed issue of using modified cURL (which is cURL provided with
EiffelStudio 7.0) This changes will be reverted in the future
2011-10-10 Jocelyn Fiat <jfiat@eiffel.com>
added submodule ext/ise_library/curl to use the updated Eiffel cURL from
ISE.
2011-10-07 Jocelyn Fiat <jfiat@eiffel.com>
added http diagrams found on the web
2011-10-07 Jocelyn Fiat <github@djoce.net>
Added license.lic and copyright to Javier
2011-10-07 jfiat <jfiat@eiffel.com>
Minor changes + cosmetics Added conversion from STRING to JSON_STRING to help
users.
2011-10-07 Jocelyn Fiat <jfiat@eiffel.com>
Added "Date:" helper feature in EWF_HEADER Added license.lic to restbuck
example, and mainly copyright to Javier Use HTTP_STATUS_CODES Minor
improvements using object tests Cosmetic (indentation, ..)
2011-10-06 Jocelyn Fiat <jfiat@eiffel.com>
Added a first simple test client to test the restbuck client
added support for data in POST request
2011-10-06 jvelilla <javier.hector@gmail.com>
Added REQUEST_RESOURCE_HANDLER_HELPER class to contain common http method
behavior. Updated ORDER_HANLDER to use this new class.
2011-10-05 Jocelyn Fiat <github@djoce.net>
Added `base_url' for REQUEST_ROUTER (and descendants) 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
2011-09-28 Jocelyn Fiat <github@djoce.net>
Made WGI_VALUE.name as READABLE_STRING_32 .. otherwise it is a pain to
manipulate. Changed return type of meta_variable to be WGI_STRING_VALUE ...
since the meta variable can not be anything else. Made sure REQUEST_URI
starts with one and only one slash Internal implementation: the _table now
compares object Removed SELF variable ... at least for now Be sure to provide
a REQUEST_URI even if the underlying connector does not.
cleaned http_client configuration files
Added library/library.index
restructured ewsgi to avoid too many sub cluster
2011-09-28 jvelilla <javier.hector@gmail.com>
Updated Restbucks examples, handle not method allowed in a better way, added
the readme file.
2011-09-27 jfiat <jfiat@8089f293-4706-0410-a29e-feb5c42a2edf>
Be sure to set the Result /= 0 (i.e ECURLE_OK) when error occurred.
2011-09-26 Jocelyn Fiat <github@djoce.net>
fixed compilation of rest example
fixed typo
Changed ITERATION_CURSOR [WGI_VALUE] into ITERABLE [WGI_VALUE] for
WGI_REQUEST.*parameters* and similar Applied recent changes on EWF_HEADER
2011-09-23 Jocelyn Fiat <jfiat@eiffel.com>
Updated changelogs.txt sync with nino and doc
2011-09-23 Jocelyn Fiat <github@djoce.net>
Added AutoTest simple cases for ewsgi using Nino web server
Fixing issue with experimental WGI_MULTIPLE_STRING_VALUE Fixed issue with
RAW_POST_DATA
Use READABLE_STRING(_*) instead of just STRING(_*)
Added error reporting in HTTP_CLIENT_RESPONSE Added missing
set_connect_timeout
2011-09-22 Jocelyn Fiat <github@djoce.net>
Made all libraries compilable in any mode (voidsafe or not) Fixed related
examples
2011-09-22 jvelilla <javier.hector@gmail.com>
Initial import, work in progress restbuck example. Only support create a
resource
2011-09-21 Jocelyn Fiat <github@djoce.net>
better assertion to ensure `base' is a valid base url
better return type for http client functions added helper features
2011-09-20 Jocelyn Fiat <github@djoce.net>
fixed case sensitive path
Now using READABLE_STRING_... type
Added simple HTTP client. For now the implementation is using Eiffel cURL
library. It requires Eiffel cURL coming with next EiffelStudio 7.0 (or from
eiffelstudio's repo from rev#87244 )
2011-09-16 Jocelyn Fiat <github@djoce.net>
Fixed issues in WGI_REQUEST's invariant Fixed issues with guessing the
default format for REST handling Fixed issue with .._ROUTING_.. component.
more flexible authenticated query .. on handler, and not anymore on context
object
first version of http authorization .. for now, only basic digest
Added "on_handler_mapped" callback to allow any REQUEST_HANDLER to record the
existing routes.
typo
2011-09-15 Jocelyn Fiat <github@djoce.net>
minor enhancement of error lib
Added WGI_MULTIPLE_STRING_VALUE Renamed value as WGI_STRING_VALUE.string
Renamed a few classes .._CONTEXT_I as .._CONTEXT updated example.
2011-09-14 Jocelyn Fiat <github@djoce.net>
Simplified interface of "router" library classes
applied renaming for rest and router lib
Reorganized library "server/request/rest"
some renaming to use _I for the generic classes, and removed the DEFAULT_
prefix for default implementation this should makes things easier for new
users
reorganized router library
- Adopted deferred WGI_VALUE design for Result type of *_parameter and
similar functions - Adopted the ITERATION_CURSOR [WGI_VALUE] design for
*_parameters and similar functions - renamed parameter as item - provided
helper function to handle "string" value parameters Experimental for now.
2011-09-13 Jocelyn Fiat <github@djoce.net>
Added first draft for RESTful library note: the interfaces are likely to
change in the future
updated config file and examples
adding routing handler few renaming
2011-09-09 Jocelyn Fiat <github@djoce.net>
changing design to use generic instead of anchor types
make router more easy to inherit from and specialized
Added support during match for {/vars} and also handle cases such as
/foo.{format}{/vars} or /foo.{format}{?vars} where no literal exists between
the uri template expressions
2011-09-07 Jocelyn Fiat <jfiat@eiffel.com>
use `resource' as generic name for uri or uri_template
Added request methods criteria for the router component. Now one can decide
map_agent_with_request_methods ("/foo/bar/{bar_id}", agent handle_foo_bar,
<<"GET">>) (and similar for non agent way) This might be useful in pure
RESTful environment.
renamed (un)set_meta_parameter as (un)set_meta_variable
2011-09-05 jvelilla <javier.hector@gmail.com>
Fixed ecf files that cause a cat-call in the example web server.
2011-08-30 Jocelyn Fiat <jfiat@eiffel.com>
Changed prefix from EWSGI_ to WGI_ Changed meta variable type to
READABLE_STRING_32
2011-08-30 Jocelyn Fiat <github@djoce.net>
Changed prefix class name from EWSGI_ to WGI_ changes in interface for
REQUEST and RESPONSE
2011-08-29 Jocelyn Fiat <jfiat@eiffel.com>
naming: meta_variable(s) changed some string type to READABLE_STRING_32 or
READABLE_STRING_8 for now regarding Meta variables (need decision here..)
2011-08-25 Jocelyn Fiat <jfiat@eiffel.com>
changed prefix GW_ into EWF_ for EiffelWebFramework use
READABLE_STRING_GENERAL instead of just STRING
Merged REQUEST and ENVIRONMENT into REQUEST renamed ENVIRONMENT_NAMES into
META_NAMES better usage of READABLE_STRING_GENERAL, and other strings
abstract RESPONSE_BUFFER in implementation of EWSGI for the implementation,
inheriting from deferred specification (more to come later)
Merged REQUEST and ENVIRONMENT into REQUEST renamed ENVIRONMENT_NAMES into
META_NAMES better usage of READABLE_STRING_GENERAL, and other strings for the
implementation, inheriting from deferred specification (more to come later)
2011-08-18 Jocelyn Fiat <jfiat@eiffel.com>
code cleaning, and prepare for internal review
2011-08-02 jocelyn <github@djoce.net>
Updated EWSGI : open questions (markdown)
Updated EWSGI: open questions (markdown)
2011-08-02 Jocelyn Fiat <jfiat@eiffel.com>
minor improvements on response_as_result code
cosmetic in config file .ecf
add "write_headers_string" to RESPONSE_BUFFER
2011-08-01 Jocelyn Fiat <jfiat@eiffel.com>
moved ewsgi-full config file under tests (this is mainly for dev purpose, to
be able to compile and edit all classes related to ewsgi)
Tried to reduce gap between both EWSGI proposals Re-adapt the Spec-compliant
solution (instead of Lib-compliant solution). Thus no more 100% deferred
interface. Rename EWSGI_RESPONSE into EWSGI_RESPONSE_BUFFER Added in
extra/response-as-result/ an copy/paste from the implementation of Paul's
proposal (not up to date with Paul's spec). But this is mainly for
information and tests. Removed part of the ewsgi/specification interfaces ...
to be able to test EWSGI compliant library against the pure specification
(experimental). Renamed most of the GW_... into EWSGI_...
2011-07-29 Jocelyn Fiat <jfiat@eiffel.com>
added hello_routed_world example few changes on new `router' library (still
in-progress)
Added first draft for a URI and/or URI-template base request router.
Added "flush" to the EWSGI_RESPONSE_STREAM
added missing non-void-safe .ecf
added missing non-void-safe .ecf
2011-07-28 Jocelyn Fiat <jfiat@eiffel.com>
Fixed various issue with URI template, added corresponding tests
fix hello world example
2011-07-27 Jocelyn Fiat <jfiat@eiffel.com>
added script to test compilations of .ecf in EWF
Added the possibility to set the "Status" header (different from the status
line) in GW_HEADER Renamed EWSGI_RESPONSE as EWSGI_RESPONSE_STREAM to avoid
confusion with EWSGI_RESPONSE as stated in Paul's proposal Added default
"configuration" (for nino and cgi) to be independant of the connector (at
compilation time) Added example implementing Paul's proposal on top of EWSGI
Added an implementation folder in ewsgi_spec, mainly to provide default
implementation just to save the developer of connector some time. changed
structured
added non void-safe configuration files
restructured specification folders
Apply prefix renaming from the specification Reduced the number of EWSGI
classes
now use prefix EWSGI_ instead of GW_ for ewsgi specification
First step to extract the interface of the EWSGI specification into its own
library Applied the changes
removed implementation from APPLICATION , RESPONSE and REQUEST classes
removed the notion of status from GW_HEADER, since it should not be part of
the HTTP header 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
2011-07-26 Jocelyn Fiat <jfiat@eiffel.com>
replace write_string by write in RESPONSE
2011-07-25 Jocelyn Fiat <jfiat@eiffel.com>
various alternative implementation for response
Redesigned the RESPONSE to remove the output stream from the deferred
interface Redesigned the uploaded file part to be more object oriented Move
some implementation from REQUEST to REQUEST_IMP
2011-07-22 Jocelyn Fiat <jfiat@eiffel.com>
added doc/spec for uri template
Fixed issue with matcher
Improvement and revert back to support draft 04 (but using custom variable,
allow the user to follow draft 05 spec)
fixing issue with URI TEMPLATE matcher
added URI_TEMPLATE_MATCH_RESULT
2011-07-21 Jocelyn Fiat <github@djoce.net>
updated README
2011-07-20 Jocelyn Fiat <jfiat@eiffel.com>
added use of URL-encoder to unencode the URL values (to fill the parameters)
review design of GW_RESPONSE to hide the output, and remove the header
attribute added script_url in REQUEST to help the user build url relative to
script_name + cosmetic
First version of URI Template library 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.
2011-07-18 Jocelyn Fiat <jfiat@eiffel.com>
added format and request method constants classes + license file
sync nino and json
2011-07-15 Javier Velilla <javier.hector@gmail.com>
Refactor to use the new library structure convention.
2011-07-14 Jocelyn Fiat <jfiat@eiffel.com>
rename new_request_context by new_request
2011-07-13 Jocelyn Fiat <jfiat@eiffel.com>
renamed GW_REQUEST_CONTEXT as GW_REQUEST
Design change, now we have `req' REQUEST and `res' RESPONSE instead of just
`ctx'
enhanced comment for `execute'
Make a simple hello world based on nino
2011-07-12 Jocelyn Fiat <jfiat@eiffel.com>
Added GW_HEADER Added pre_, post_ and rescue_execute for GW_APPLICATION Fixed
an unknown class in export clause cosmetic + copyright
First integration of the new GW_ design more centralized on connector, and
does not require specific feature on GW_APPLICATION depending on the
connector. 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.
2011-07-12 Jocelyn Fiat <github@djoce.net>
let's have a nino-safe.ecf and also a nino.ecf for non void-safe system
2011-07-11 jvelilla <javier.hector@gmail.com>
Added test cases from getest to autotest. First version.
2011-07-08 Jocelyn Fiat <jfiat@eiffel.com>
focus on GW_APPLICATION
2011-07-07 Jocelyn Fiat <jfiat@eiffel.com>
a few renaming better GW_ENVIRONMENT interface
2011-07-07 jfiat <jfiat@eiffel.com>
Converted the autotest test suite to void-safety + cosmetics
Now if you want to use the json utilities for gobo, you just need to include
the json_gobo_extension.ecf (note that the related gobo classes are not
void-safe) + cosmetics
2011-07-07 jvelilla <javier.hector@gmail.com>
Updated eJSON to use Eiffel 6.8 version. Basically the changes are: Replace
? by detachable indexing by note removing `is' from features, and in some
places replaced by = In the ecf now we need to include every gobo library,
because the gobo.ecf, exclude libraries that are needed. TODO: the test-suite
is not void-safety.
2011-07-06 jvelilla <javier.hector@gmail.com>
Updated History and Readme files.
2011-07-06 Jocelyn Fiat <jfiat@eiffel.com>
updated doc
2011-07-05 Jocelyn Fiat <jfiat@eiffel.com>
cosmetic, license, copyright
2011-07-05 jocelyn <github@djoce.net>
Updated Tasks Roadmap (markdown)
Updated Tasks (markdown)
2011-07-05 Jocelyn Fiat <jfiat@eiffel.com>
added doc/wiki (wiki from github)
First draft for the ewsgi spec
2011-06-01 Jocelyn Fiat <github@djoce.net>
Fixed the HTTP_SERVER.shutdown_server
2011-05-30 Jocelyn Fiat <github@djoce.net>
left adjust request_header_map items.
2011-05-28 Javier Velilla <javier.hector@gmail.com>
Update Readme files
Commit Jocelyn changes.
2011-05-27 Jocelyn Fiat <github@djoce.net>
Reset values after processing the request Added port information when
starting the server
Added force_single_threaded option Modified the interface of process request
default port is now 80
Moving things around to make it more structured. and turn into library
abstracted the HTTP_HANDLER to let the user integrate at the level of its
choice (either very early so handle itself the header handling, or later to
reuse existing code)
2011-05-26 Jocelyn Fiat <github@djoce.net>
A few change to make it more customizable and prepare integration to
EiffelWebReloaded (see on github)
2011-05-20 Javier Velilla <javier.hector@gmail.com>
Import HTTPD Eiffel
2011-01-13 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
* Use READABLE_STRING_GENERAL instead of STRING_GENERAL for routines
expecting a string. This enables us to use IMMUTABLE_STRINGs as argument
without conversion. * As a consequence we are also now using `same_string'
instead of `is_equal' to compare strings which will handle any type of
strings. * Enforced the rule that arguments are READABLE_STRING_GENERAL and
queries are STRING_32 when unicode is expected. * The most delicate part of
the change was the update of the encoding library. Now we have two
queries:last_converted_string_32 and last_converted_string_8 in addition of
the typeless last_converted_string. The idea is that if you know that you are
converting to something where characters are at least 2 bytes wide, you know
that you have to use STRING_32, otherwise it will be STRING_8. * Unlike
STRING_GENERAL, READABLE_STRING_GENERAL does not have a conversion to
STRING_32 and thus in a few places we had to use `as_string_32' for explicit
conversion which I found better.
2010-03-16 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Moved the experimental branch to be the default for libraries.
2010-03-09 jvelilla <javier.hector@gmail.com>
Removed obsolete cluster.
Added autotest test suite
2010-03-08 paul.cohen <paco@seibostudios.se>
Added getest based test program
2010-03-08 jvelilla <javier.hector@gmail.com>
Updated Eiffel configuration file, updated to the new clusters
2010-03-08 paul.cohen <paco@seibostudios.se>
Ported r75 (all JSON value classes) from POC_CONVERTERS_FACTORY branch to
trunk
Merged converters and factory classes from POC_CONVERTERS_FACTORY to trunk
New directory layout created
2010-03-05 jvelilla <javier.hector@gmail.com>
Added History, Readme and License files
2009-08-25 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Added automatic license files for docking and cURL library
2009-08-04 jfiat <jfiat@eiffel.com>
Optimized code, and removed extra dependencies. Added void-safe version
2009-05-18 dfurrer <dfurrer@8089f293-4706-0410-a29e-feb5c42a2edf>
- Adding the necessary platform-specific implementations (stubs atm) to build
EiffelStudio using the Cocoa Vision2 implementation (without GTK+
dependencies). - There is a new target "bench_cocoa" in ec.ecf which builds
the native Mac version of EiffelStudio
2009-05-18 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Updated cURL library to use API wrapper library Then removed useless classes
such as {API_LOADER} {API_LOADER_IMP}, removed useless library references
such as Vision2 and WEL
2009-05-01 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Updated to 1-5-0 schema version of ECFs.
2009-04-09 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Use new `note' syntax.
2009-03-19 jfiat <jfiat@8089f293-4706-0410-a29e-feb5c42a2edf>
Added curl_easy_getinfo. Associated constants and also CURLOPT_USERPWD. Minor
optimization and cosmetics.
2009-03-18 jfiat <jfiat@eiffel.com>
Cosmetic + Optimization + Assertion + Void-safety (no significant interface
changes)
2009-02-27 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Added features related with curlopt_readfunction (for setting and using read
function), so users can read data from local machine and send the data to
server. Added curlopt_put and other constance to {CURL_OPT_CONSTATNS} which
used by {CURL_EASY_EXTERNALS} Contributed by Heiko Gering
2009-02-24 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Use new syntax for object test and attached/detachable type.
2009-02-04 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Added back vision2 since used for the API_LOADER_IMP on Unix but this time
with an explicit conditional.
Made the cURL library void-safe.
2008-12-29 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Removal of `is' keyword. Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.
2008-12-01 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Moved API_LOADER class to where it was used, i.e. the cURL library.
2008-08-29 jvelilla <javier.hector@gmail.com>
Add descriptions. Change in skip_withe_spaces to handle newline %N and
carriage Return %R
2008-08-27 berend <berend@pobox.com>
SmartEiffel doesn't have is_space.
2008-08-25 jvelilla <javier.hector@gmail.com>
Add accept method (JSON_VISITOR), remove is_xxx queries, remove to_json
feature. Improve comments
Add Visitor Pattern , JSON_VISITOR and PRINT_JSON_VISITOR
2008-08-05 berend <berend@pobox.com>
Reformatted code to Gobo standard.
2008-06-09 jvelilla <javier.hector@gmail.com>
Add new files to test ejson, based on json t test material
http://www.json.org/JSON_checker/test.zip
Update JSON_OBJECT, put routine, now follows Eiffel Style based on HAST_TABLE
Update Parser with is_parsed. Update parse_string
2008-05-25 jvelilla <javier.hector@gmail.com>
Update test
Update JSON_VALUE and JSON_OBJECT interface
CDD classes
2008-05-24 jvelilla <javier.hector@gmail.com>
Update JSON_STRING rutine is_equal Update JSON_OBJECT new features (has_keys,
item,get_keys), and fixed an incorrect use of HASH_TABLE
eJson tests initial import
eJson initial import
2008-03-05 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Use precondition instead of raising an exception. Fixed bug#14062: CURL
dynamic library not found exception is causing an internal failure in WEL
2008-02-29 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Raise an exception when cURL dynamic library not found.
2008-01-09 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Added `global_cleanup' which declared as curl_global_cleanup() in C. Added
comments.
2007-12-31 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Added http header related features. It means we can change http header by
setting a list ourself. Wrapped more cURL constants. Added `release_item'
in {CURL_FORM} which is useful to clean the {CURL_FORM} generated by
{CURL_EXTERNALS}.formadd_string_string.
2007-12-07 jfiat <jfiat@8089f293-4706-0410-a29e-feb5c42a2edf>
Fully automated EiffelStudio's building using geant scripts: It integrates
part of the work done by "es-make" project from ETH (mainly on the checker
script) This is a first step in rewriting the previous
$EIFFEL_SRC/scripts/*.eant scripts to build 'ec' and make a new delivery.
Added a few standalone geant scripts in the EiffelStudio's source code, to
ease the compilation.
2007-12-07 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Ensured that the library also works in finalized mode. The issue is that in
finalized mode more than one copy of `eiffel_curl.h' could be present,
meaning that multiple values of each static declared variables could be
present at run-time and in one case, one was properly initialized, but not
the other. Fixes bug#13671.
2007-11-18 manus <manus@8089f293-4706-0410-a29e-feb5c42a2edf>
Fixed various errors in the C interface. Use new C external syntax.
2007-11-08 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Improved cURL wrapper library. We can write functions from curl_easy_setopt
in pure Eiffel now. Before we have to implement the functions in C.
2007-10-30 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
Made cURL wrapper library works on Linux.
2007-10-26 larryl <larryl@8089f293-4706-0410-a29e-feb5c42a2edf>
We can start our executables even without dll (so) files.