diff --git a/CHANGELOG.md b/CHANGELOG.md index ec62deb9..47fcc385 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,22 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ## [Unreleased] ### Added -- jwt: new JSON Web Token (JWT) library (supports for claim exp, iat, nbf, iss, aud). +- `jwt`: new JSON Web Token (JWT) library (supports for claim exp, iat, nbf, iss, aud). +- `http_client`: added support for ciphers setting in the libcurl implementation only. +- `http_client`: added convenient `get` and `custom` functions on HTTP_CLIENT directly. +- `websocket`: added `on_timer` solution to allow the server to check for external events and send notification to websocket clients. ### Changed +- adopted ecf version 1-16-0 and use a single .ecf file (the -safe.ecf are now redirection to normal .ecf) ### Deprecated +- removed support for Eiffel version before 17.05 . +- SSL 2 or 3 is obsolete and will raise an exception if used. ### Removed ### Fixed - Removed a few obsolete calls. - `http_client`: Added support for multiple file in form data. Made clear what is the meaning of `upload_filename`, `upload_data` and `form_data`. +- `authentication`: HTTP_AUTHORIZATION acceps now READABLE_STRING_GENERAL for username and password argument. +- `http_client`: fixed curl implementation by setting `Content-Type` to `x-www-form-urlencoded` (if not set) when POST send data as `x-www-form-urlencoded`. ### Security diff --git a/README.md b/README.md index 48b4a22b..c197614d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Eiffel Web Framework +[![Build Status](https://api.travis-ci.org/EiffelWebFramework/EWF.svg?branch=master)](https://travis-ci.org/EiffelWebFramework/EWF/) + ## Overview diff --git a/contrib/library/network/server/nino/example/SimpleWebServer/web_server-safe.ecf b/contrib/library/network/server/nino/example/SimpleWebServer/web_server-safe.ecf index c2b1849f..289614d5 100644 --- a/contrib/library/network/server/nino/example/SimpleWebServer/web_server-safe.ecf +++ b/contrib/library/network/server/nino/example/SimpleWebServer/web_server-safe.ecf @@ -1,22 +1,3 @@ - - - - - /.git$ - /.svn$ - /CVS$ - /EIFGENs$ - - - - - - - - - - + + diff --git a/contrib/library/network/server/nino/example/SimpleWebServer/web_server.ecf b/contrib/library/network/server/nino/example/SimpleWebServer/web_server.ecf index e066115e..4e0dff0b 100644 --- a/contrib/library/network/server/nino/example/SimpleWebServer/web_server.ecf +++ b/contrib/library/network/server/nino/example/SimpleWebServer/web_server.ecf @@ -1,17 +1,19 @@ - - + + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /CVS$ /EIFGENs$ - - + + + diff --git a/contrib/library/network/server/nino/nino-safe.ecf b/contrib/library/network/server/nino/nino-safe.ecf index 233a68ac..fd148e3f 100644 --- a/contrib/library/network/server/nino/nino-safe.ecf +++ b/contrib/library/network/server/nino/nino-safe.ecf @@ -1,34 +1,3 @@ - - - - - /.git$ - /.svn$ - /CVS$ - /EIFGENs$ - - - - - - - - - spec - - - tcp_stream_socket.e - - - - - - - - - - - - + + diff --git a/contrib/library/network/server/nino/nino.ecf b/contrib/library/network/server/nino/nino.ecf index 7af610d1..d3b199ac 100644 --- a/contrib/library/network/server/nino/nino.ecf +++ b/contrib/library/network/server/nino/nino.ecf @@ -1,16 +1,16 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /CVS$ /EIFGENs$ - - + + + diff --git a/contrib/library/network/server/nino/package.iron b/contrib/library/network/server/nino/package.iron index 96514dcf..8f03dd5c 100644 --- a/contrib/library/network/server/nino/package.iron +++ b/contrib/library/network/server/nino/package.iron @@ -1,7 +1,6 @@ package nino project - nino = "nino-safe.ecf" nino = "nino.ecf" note diff --git a/docs/workbook/basics/basics.md b/docs/workbook/basics/basics.md index 2fc0e40f..f8b41b1b 100644 --- a/docs/workbook/basics/basics.md +++ b/docs/workbook/basics/basics.md @@ -59,7 +59,7 @@ feature -- Basic operations end ``` -When using the "standalone" connector (or the deprecated "nino" connector), by default the service listens on port 80, but often this port is already used by other applications, so it is recommended to use another port. +When using the [standalone](../connectors/standalone.md) connector (or the deprecated "nino" connector), by default the service listens on port 80, but often this port is already used by other applications, so it is recommended to use another port. To define another port, redefine the feature `initialize` and set up a new port number using the service options (see below). @@ -86,6 +86,8 @@ feature {NONE} -- Initialization end ``` +Learn more about the [Standalone](../connectors/standalone.md) connector. + The **WSF_REQUEST** gives access to the incoming data; the class provides features to get information such as request method, form data, query parameters, uploaded files, HTTP request headers, and hostname of the client among others. The **WSF_RESPONSE** provides features to define the response with information such as HTTP status codes (10x,20x, 30x, 40x, and 50x), response headers (Content-Type, Content-Length, etc.) and obviously the body of the message itself. diff --git a/docs/workbook/basics/simple/simple.ecf b/docs/workbook/basics/simple/simple.ecf index e4ff832f..6969354c 100644 --- a/docs/workbook/basics/simple/simple.ecf +++ b/docs/workbook/basics/simple/simple.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/basics/simple_html/simple_html.ecf b/docs/workbook/basics/simple_html/simple_html.ecf index 5712125d..90560a02 100644 --- a/docs/workbook/basics/simple_html/simple_html.ecf +++ b/docs/workbook/basics/simple_html/simple_html.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/connectors/standalone.md b/docs/workbook/connectors/standalone.md new file mode 100644 index 00000000..4dd0ff46 --- /dev/null +++ b/docs/workbook/connectors/standalone.md @@ -0,0 +1,27 @@ +Nav: [Workbook](../workbook.md) + +## The EiffelWeb standalone connector + +It provides a standalone httpd server for the EiffelWeb framework. +It implements HTTP/1.1 with persistent connection, concurrent connection, ... + +To easily set the standalone connector, see class `WSF_STANDALONE_SERVICE_OPTIONS`. + +### Main settings: + +* `port`: Listening port number (defaut: 80). +* `max_concurrent_connections`: maximum of concurrent connections (default: 100) +* `max_tcp_clients`: Listen on socket for at most `max_tcp_clients` connections (default: 100) +* `socket_timeout`: Amount of seconds the server waits for receipts and transmissions during communications. With timeout of 0, socket can wait for ever. (default: 60) +* `socket_recv_timeout`: Amount of seconds the server waits for receiving data during communications. With timeout of 0, socket can waits for ever. (default: 5) +* `keep_alive_timeout`: Persistent connection timeout. Number of seconds the server waits after a request has been served before it closes the connection (default: 5) +* `max_keep_alive_requests`: Maximum number of requests allowed per persistent connection. To disable KeepAlive, set `max_keep_alive_requests` to `0`. To have no limit, set `max_keep_alive_requests` to `-1` (default: 300). + +* `is_secure`: check SSL certificate? +* `secure_certificate`: path to SSL certificate. +* `secure_certificate_key`: certificate key + +* `verbose`: display verbose output (Default: false) + +See also `WGI_STANDALONE_CONSTANTS` for default values. + diff --git a/docs/workbook/generating_response/exel/exel.ecf b/docs/workbook/generating_response/exel/exel.ecf index e16eb9f7..1de3d559 100644 --- a/docs/workbook/generating_response/exel/exel.ecf +++ b/docs/workbook/generating_response/exel/exel.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/generating_response/headers/headers.ecf b/docs/workbook/generating_response/headers/headers.ecf index 797eb842..aa454c97 100644 --- a/docs/workbook/generating_response/headers/headers.ecf +++ b/docs/workbook/generating_response/headers/headers.ecf @@ -1,40 +1,49 @@ - + - /EIFGENs$ + /\.svn$ /CVS$ - /.svn$ + /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/generating_response/search/search.ecf b/docs/workbook/generating_response/search/search.ecf index 7c42d50b..e2726610 100644 --- a/docs/workbook/generating_response/search/search.ecf +++ b/docs/workbook/generating_response/search/search.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/generating_response/status/status.ecf b/docs/workbook/generating_response/status/status.ecf index de47b96a..3ef042b8 100644 --- a/docs/workbook/generating_response/status/status.ecf +++ b/docs/workbook/generating_response/status/status.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_cookies/example/example.ecf b/docs/workbook/handling_cookies/example/example.ecf index dea25001..392f5e5a 100644 --- a/docs/workbook/handling_cookies/example/example.ecf +++ b/docs/workbook/handling_cookies/example/example.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/form/get/form.ecf b/docs/workbook/handling_request/form/get/form.ecf index 8dde5e4d..bc6d5f4d 100644 --- a/docs/workbook/handling_request/form/get/form.ecf +++ b/docs/workbook/handling_request/form/get/form.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/form/post/form.ecf b/docs/workbook/handling_request/form/post/form.ecf index bd83b4bd..7896ff19 100644 --- a/docs/workbook/handling_request/form/post/form.ecf +++ b/docs/workbook/handling_request/form/post/form.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/headers/browser_name/browsers.ecf b/docs/workbook/handling_request/headers/browser_name/browsers.ecf index bb1df575..dbd46d58 100644 --- a/docs/workbook/handling_request/headers/browser_name/browsers.ecf +++ b/docs/workbook/handling_request/headers/browser_name/browsers.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf b/docs/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf index 8ba57e16..dd7143e3 100644 --- a/docs/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf +++ b/docs/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/headers/header_fields/header_fields.ecf b/docs/workbook/handling_request/headers/header_fields/header_fields.ecf index 39e2f8a0..75398bab 100644 --- a/docs/workbook/handling_request/headers/header_fields/header_fields.ecf +++ b/docs/workbook/handling_request/headers/header_fields/header_fields.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/docs/workbook/handling_request/upload_file/upload.ecf b/docs/workbook/handling_request/upload_file/upload.ecf index 0722e151..5b80a461 100644 --- a/docs/workbook/handling_request/upload_file/upload.ecf +++ b/docs/workbook/handling_request/upload_file/upload.ecf @@ -1,40 +1,49 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - + + + - - + + + + - - + + + + - - + + + + diff --git a/draft/library/protocol/syndication/atom/atom-safe.ecf b/draft/library/protocol/syndication/atom/atom-safe.ecf index 4af20c64..7df38e2e 100644 --- a/draft/library/protocol/syndication/atom/atom-safe.ecf +++ b/draft/library/protocol/syndication/atom/atom-safe.ecf @@ -1,16 +1,3 @@ - - - - - /.git$ - /.svn$ - /EIFGENs$ - - - - - - - + + diff --git a/draft/library/protocol/syndication/atom/atom.ecf b/draft/library/protocol/syndication/atom/atom.ecf index c5805e0f..17e504b6 100644 --- a/draft/library/protocol/syndication/atom/atom.ecf +++ b/draft/library/protocol/syndication/atom/atom.ecf @@ -1,15 +1,14 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - diff --git a/draft/library/protocol/syndication/rss/rss-safe.ecf b/draft/library/protocol/syndication/rss/rss-safe.ecf index 83620c87..9b7b63a9 100644 --- a/draft/library/protocol/syndication/rss/rss-safe.ecf +++ b/draft/library/protocol/syndication/rss/rss-safe.ecf @@ -1,16 +1,3 @@ - - - - - /.git$ - /.svn$ - /EIFGENs$ - - - - - - - + + diff --git a/draft/library/protocol/syndication/rss/rss.ecf b/draft/library/protocol/syndication/rss/rss.ecf index e039a0df..1f90cd51 100644 --- a/draft/library/protocol/syndication/rss/rss.ecf +++ b/draft/library/protocol/syndication/rss/rss.ecf @@ -1,15 +1,14 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - diff --git a/draft/library/security/oauth/oauth-safe.ecf b/draft/library/security/oauth/oauth-safe.ecf index f01b254a..62eba3dd 100644 --- a/draft/library/security/oauth/oauth-safe.ecf +++ b/draft/library/security/oauth/oauth-safe.ecf @@ -1,16 +1,3 @@ - - - - - /.git$ - /.svn$ - /EIFGENs$ - - - - - - - + + diff --git a/draft/library/security/oauth/oauth.ecf b/draft/library/security/oauth/oauth.ecf index 8550c8d4..fe5ce27f 100644 --- a/draft/library/security/oauth/oauth.ecf +++ b/draft/library/security/oauth/oauth.ecf @@ -1,15 +1,14 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - diff --git a/draft/library/server/wsf_js_widget/examples/custom-template/js_widget_template.ecf b/draft/library/server/wsf_js_widget/examples/custom-template/js_widget_template.ecf index 04cb2f1a..0ebbc126 100644 --- a/draft/library/server/wsf_js_widget/examples/custom-template/js_widget_template.ecf +++ b/draft/library/server/wsf_js_widget/examples/custom-template/js_widget_template.ecf @@ -1,33 +1,32 @@ - + - /.git$ + /\.git$ /CVS$ /EIFGENs$ - - - - - - + + + + - + - + - + diff --git a/draft/library/server/wsf_js_widget/examples/custom/js_widget_custom.ecf b/draft/library/server/wsf_js_widget/examples/custom/js_widget_custom.ecf index 58a8446a..46b01a28 100644 --- a/draft/library/server/wsf_js_widget/examples/custom/js_widget_custom.ecf +++ b/draft/library/server/wsf_js_widget/examples/custom/js_widget_custom.ecf @@ -1,33 +1,32 @@ - + - /.git$ + /\.git$ /CVS$ /EIFGENs$ - - - - - - + + + + + - + - + - + diff --git a/draft/library/server/wsf_js_widget/examples/demo/demo.ecf b/draft/library/server/wsf_js_widget/examples/demo/demo.ecf index 0946ac0d..be5a8ee8 100644 --- a/draft/library/server/wsf_js_widget/examples/demo/demo.ecf +++ b/draft/library/server/wsf_js_widget/examples/demo/demo.ecf @@ -1,44 +1,52 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - - - - - + + + + + + - - + + + + - - + + + + - - + + + + diff --git a/draft/library/server/wsf_js_widget/wsf_js_widget-safe.ecf b/draft/library/server/wsf_js_widget/wsf_js_widget-safe.ecf index f4239f00..efc5a4a2 100644 --- a/draft/library/server/wsf_js_widget/wsf_js_widget-safe.ecf +++ b/draft/library/server/wsf_js_widget/wsf_js_widget-safe.ecf @@ -1,21 +1,3 @@ - - - - - /.git$ - /.svn$ - /EIFGENs$ - - - - - - - - - - - - + + diff --git a/draft/library/server/wsf_js_widget/wsf_js_widget.ecf b/draft/library/server/wsf_js_widget/wsf_js_widget.ecf index 8b1afe1f..22d11934 100644 --- a/draft/library/server/wsf_js_widget/wsf_js_widget.ecf +++ b/draft/library/server/wsf_js_widget/wsf_js_widget.ecf @@ -1,15 +1,14 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - diff --git a/draft/src/gewf/gewf.ecf b/draft/src/gewf/gewf.ecf index 104e7e13..3524f370 100644 --- a/draft/src/gewf/gewf.ecf +++ b/draft/src/gewf/gewf.ecf @@ -1,22 +1,21 @@ - + Generator for EWF project - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - - - - - + + + + diff --git a/draft/src/gewf/src/gewf_generator.e b/draft/src/gewf/src/gewf_generator.e index 389c606e..df81398d 100644 --- a/draft/src/gewf/src/gewf_generator.e +++ b/draft/src/gewf/src/gewf_generator.e @@ -113,14 +113,13 @@ feature -- Implementation across l_values as c loop - s.replace_substring_all ({STRING_32} "${" + c.key.as_string_32 + "}", c.item) + s.replace_substring_all ({STRING_32} "${" + c.key.to_string_32 + "}", c.item.to_string_32) end end end - note - copyright: "2011-2013, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others" + copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software diff --git a/examples/_update_needed/filter/filter.ecf b/examples/_update_needed/filter/filter.ecf index 8fc170e0..30112b5c 100644 --- a/examples/_update_needed/filter/filter.ecf +++ b/examples/_update_needed/filter/filter.ecf @@ -1,33 +1,34 @@ - + /EIFGENs$ /\.git$ /\.svn$ - - - - - - - - - - + + + + + + + + + + + - - + - + diff --git a/examples/debug/debug.ecf b/examples/debug/debug.ecf index 7bbda930..3365d92b 100644 --- a/examples/debug/debug.ecf +++ b/examples/debug/debug.ecf @@ -1,47 +1,44 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - - - - + + + + + - - - - + + + - - + - + - + diff --git a/examples/desktop_app/desktop_app.ecf b/examples/desktop_app/desktop_app.ecf index df08bef2..32bd16df 100644 --- a/examples/desktop_app/desktop_app.ecf +++ b/examples/desktop_app/desktop_app.ecf @@ -1,23 +1,22 @@ - + Vision2+web browser widget+embedded web service This example demonstrates how to build a vision2 desktop application that embed a web browser accessing the service of an embedded web service. - - - - - - - - - + + + + + + + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ diff --git a/examples/form/form.ecf b/examples/form/form.ecf index 59c01c12..1c912357 100644 --- a/examples/form/form.ecf +++ b/examples/form/form.ecf @@ -1,52 +1,54 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - - - - + + + + + - - - + - + + + - + + + - - + - - + diff --git a/examples/obsolete/v0/filter/filter-safe.ecf b/examples/obsolete/v0/filter/filter.ecf similarity index 56% rename from examples/obsolete/v0/filter/filter-safe.ecf rename to examples/obsolete/v0/filter/filter.ecf index 5e872262..5b26d48d 100644 --- a/examples/obsolete/v0/filter/filter-safe.ecf +++ b/examples/obsolete/v0/filter/filter.ecf @@ -1,35 +1,41 @@ - + /EIFGENs$ /\.git$ /\.svn$ - - - - - - - - - - + + + + + + + + - + + + + - + + + + - - diff --git a/examples/obsolete/v0/restbucksCRUD/client/client-safe.ecf b/examples/obsolete/v0/restbucksCRUD/client/client-safe.ecf deleted file mode 100644 index dc8c3362..00000000 --- a/examples/obsolete/v0/restbucksCRUD/client/client-safe.ecf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - /.git$ - /.svn$ - /EIFGENs$ - - - - - - - - - - diff --git a/examples/obsolete/v0/restbucksCRUD/client/client.ecf b/examples/obsolete/v0/restbucksCRUD/client/client.ecf index 3e2cc430..f60278f9 100644 --- a/examples/obsolete/v0/restbucksCRUD/client/client.ecf +++ b/examples/obsolete/v0/restbucksCRUD/client/client.ecf @@ -1,17 +1,20 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - + + + + - + diff --git a/examples/obsolete/v0/restbucksCRUD/restbucks-safe.ecf b/examples/obsolete/v0/restbucksCRUD/restbucks.ecf similarity index 62% rename from examples/obsolete/v0/restbucksCRUD/restbucks-safe.ecf rename to examples/obsolete/v0/restbucksCRUD/restbucks.ecf index a661a6be..486593f8 100644 --- a/examples/obsolete/v0/restbucksCRUD/restbucks-safe.ecf +++ b/examples/obsolete/v0/restbucksCRUD/restbucks.ecf @@ -1,35 +1,35 @@ - - + + /EIFGENs$ /\.git$ /\.svn$ - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - @@ -41,11 +41,11 @@ - - + /resource$ diff --git a/examples/proxy/proxy.ecf b/examples/proxy/proxy.ecf index 9907d2c7..60078dd8 100644 --- a/examples/proxy/proxy.ecf +++ b/examples/proxy/proxy.ecf @@ -1,29 +1,27 @@ - + - /.svn$ + /\.svn$ /CVS$ /EIFGENs$ - - - - - - + + + + - - - + diff --git a/examples/rest/restbucks_CRUD/client/client.ecf b/examples/rest/restbucks_CRUD/client/client.ecf index 3314de3e..68c37214 100644 --- a/examples/rest/restbucks_CRUD/client/client.ecf +++ b/examples/rest/restbucks_CRUD/client/client.ecf @@ -1,19 +1,18 @@ - + - /.git$ - /.svn$ + /\.git$ + /\.svn$ /EIFGENs$ - - - - - + + + diff --git a/examples/rest/restbucks_CRUD/restbucks.ecf b/examples/rest/restbucks_CRUD/restbucks.ecf index a4a5b870..d755f5f2 100644 --- a/examples/rest/restbucks_CRUD/restbucks.ecf +++ b/examples/rest/restbucks_CRUD/restbucks.ecf @@ -1,33 +1,29 @@ - + /EIFGENs$ /\.git$ /\.svn$ - - - - - - - - - - - - - - - + + + + + + + + + + + + + - -