diff --git a/doc/wiki/documentation/Connectors.md b/doc/wiki/documentation/Connectors.md index 6f64aca5..38a3388a 100644 --- a/doc/wiki/documentation/Connectors.md +++ b/doc/wiki/documentation/Connectors.md @@ -1,22 +1,29 @@ The main goal of the connectors is to let you choose a target at compile time. This allows you to concentrate on your business during development time and then decide which target you choose at deployment time. The current connectors are: -* Nino +* Standalone * FastCGI * CGI * OpenShift +* Nino (obsolete, replaced by Standalone) -The most widely used workflow is to use Nino on your development machine and FastCGI on your production server. -Nino being a web server written entirely in Eiffel, you can inspect your HTTP requests and respones in EiffelStudio which is great during development. +The most widely used workflow is to use Standalone on your development machine and FastCGI on your production server. +Standalone being a web server written entirely in Eiffel, you can inspect your HTTP requests and respones in EiffelStudio which is great during development. On the other hand, FastCGI is great at handling concurrent requests and coupled with Apache (or another web production server), you don't even need to worry about the lifecyle of your application (creation and destruction) as Apache will do it for you! Let's now dig into each of the connecters. -# Nino +# Standalone + +EiffelWeb standalone is connector based on the EiffelWeb httpd server entirely written in Eiffel +(note: httpd is under standalone connector, so you can consider Standalone as the EiffelWeb standalone web server). +The goal of Standalone is to provide a simple web server for development (like Java, Python and Ruby provide). + +# Nino (obsolete and replaced by Standalone) Nino is a web server entirely written in Eiffel. The goal of Nino is to provide a simple web server for development (like Java, Python and Ruby provide). -Nino is currently maintained by Javier Velilla and the repository can be found here: https://github.com/jvelilla/EiffelWebNino +Nino is currently maintained by Jocelyn Fiat and Javier Velilla and the repository can be found here: https://github.com/jvelilla/EiffelWebNino # FastCGI diff --git a/doc/wiki/documentation/README.md b/doc/wiki/documentation/README.md index 7270daf5..65e65499 100644 --- a/doc/wiki/documentation/README.md +++ b/doc/wiki/documentation/README.md @@ -61,7 +61,7 @@ Using EWF, your service is built on top of underlying httpd solution/connectors. Currently 3 main connectors are available: * __CGI__: following the CGI interface, this is an easy solution to run the service on any platform. * __libFCGI__: based on the libfcgi solution, this can be used with Apache, IIS, nginx, ... -* __nino__: a standalone server: Eiffel Web Nino allow you to embed a web server anywhere, on any platform without any dependencies on other httpd server. +* __standalone__: a standalone server: EiffelWeb Standalone web server allows you to embed a web server anywhere, on any platform without any dependencies on other httpd server. At compilation time, you can use a default connector (by using the associated default lib), but you can also use a mixed of them and choose which one to execute at runtime. It is fairly easy to add new connector, it just has to follow the EWSGI interface diff --git a/doc/wiki/policy-driven-framework/Writing-the-handlers.md b/doc/wiki/policy-driven-framework/Writing-the-handlers.md index bf404c2a..ba9d1473 100644 --- a/doc/wiki/policy-driven-framework/Writing-the-handlers.md +++ b/doc/wiki/policy-driven-framework/Writing-the-handlers.md @@ -4,7 +4,7 @@ Now you have to implement each handler. You need to inherit from WSF_SKELETON_HA ## Communicating between routines -Depending upon the connector (Nino, CGI, FastCGI etc.) that you are using, your handler may be invoked concurrently for multiple requests. Therefore it is unsafe to save state in normal attributes. WSF_REQUEST has a pair of getter/setter routines, execution_variable/set_execution_variable, which you can use for this purpose. +Depending upon the connector (Standalone, CGI, FastCGI etc.) that you are using, your handler may be invoked concurrently for multiple requests. Therefore it is unsafe to save state in normal attributes. WSF_REQUEST has a pair of getter/setter routines, execution_variable/set_execution_variable, which you can use for this purpose. Internally, the framework uses the following execution variable names, so you must avoid them: 1. REQUEST_ENTITY diff --git a/doc/workbook/basics/basics.md b/doc/workbook/basics/basics.md index 698878b4..ce04f31e 100644 --- a/doc/workbook/basics/basics.md +++ b/doc/workbook/basics/basics.md @@ -59,7 +59,7 @@ feature -- Basic operations end ``` -When using the "nino" connector or the new "standalone" 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" 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). @@ -90,7 +90,7 @@ The **WSF_REQUEST** gives access to the incoming data; the class provides featur 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. -**APPLICATION** is the root class of our example, it launches the application, using the corresponding connector, Which connector? this depends how you want to run it cgi, fcgi,nino or standalone. For development is recommended to use a standalone web server written in Eiffel, and run the execution within the EiffelStudio debugger. For production fcgi (or cgi) using Apache or another popular web server. +**APPLICATION** is the root class of our example, it launches the application, using the corresponding connector, Which connector? this depends how you want to run it cgi, fcgi,standalone. For development is recommended to use a standalone web server written in Eiffel, and run the execution within the EiffelStudio debugger. For production fcgi (or cgi) using Apache or another popular web server. ![Launcher Hierarchy](./Launcher Hierarchy.png "Launcher Hierarchy") @@ -149,9 +149,10 @@ The source code is available on Github. You can get it by running the command: ```git clone https://github.com/EiffelWebFramework/ewf.git``` -The example of simple service that generate plain text response is located in the directory $PATH/ewf/doc/workbook/basics/simple, where $PATH is where you run ```git clone``` . Just double click on the simple.ecf file and select the simple_nino target or if you prefer the command line, run the command: +The example of simple service that generate plain text response is located in the directory $PATH/ewf/doc/workbook/basics/simple, where $PATH is where you run ```git clone``` . +Just double click on the simple.ecf file and select the simple_standalone target or if you prefer the command line, run the command: -```estudio -config simple.ecf -target simple_nino``` +```estudio -config simple.ecf -target simple_standalone``` @@ -204,9 +205,10 @@ The source code is available on Github. You can get it by running the command: ```git clone https://github.com/EiffelWebFramework/ewf.git``` -The example of the service that generates HTML is located in the directory $PATH/ewf/doc/workbook/basics/simple_html, where $PATH is where you run ```git clone``` . Just double click on the simple_html.ecf file and select the simple_html_nino target or if you prefer the command line, run the command: +The example of the service that generates HTML is located in the directory $PATH/ewf/doc/workbook/basics/simple_html, where $PATH is where you run ```git clone``` . +Just double click on the simple_html.ecf file and select the simple_html_standalone target or if you prefer the command line, run the command: -```estudio -config simple_html.ecf -target simple_html_nino``` +```estudio -config simple_html.ecf -target simple_html_standalone``` Nav: [Workbook](../workbook.md) :: [Handling Requests: Form/Query Parameter](../handling_request/form.md) diff --git a/doc/workbook/basics/simple/simple.ecf b/doc/workbook/basics/simple/simple.ecf index 3d9149d0..1c7c07b1 100644 --- a/doc/workbook/basics/simple/simple.ecf +++ b/doc/workbook/basics/simple/simple.ecf @@ -13,14 +13,6 @@ - - - - - - - + diff --git a/doc/workbook/basics/simple_html/simple_html.ecf b/doc/workbook/basics/simple_html/simple_html.ecf index 7a93e788..dfe1b436 100644 --- a/doc/workbook/basics/simple_html/simple_html.ecf +++ b/doc/workbook/basics/simple_html/simple_html.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/generating_response/exel/exel.ecf b/doc/workbook/generating_response/exel/exel.ecf index 7408b1fb..f09d39e0 100644 --- a/doc/workbook/generating_response/exel/exel.ecf +++ b/doc/workbook/generating_response/exel/exel.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/generating_response/headers/headers.ecf b/doc/workbook/generating_response/headers/headers.ecf index 5f337681..ff409618 100644 --- a/doc/workbook/generating_response/headers/headers.ecf +++ b/doc/workbook/generating_response/headers/headers.ecf @@ -1,4 +1,4 @@ - +"1.0" encoding="ISO-8859-1"?> @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/generating_response/search/search.ecf b/doc/workbook/generating_response/search/search.ecf index 1e58d207..df18c0b9 100644 --- a/doc/workbook/generating_response/search/search.ecf +++ b/doc/workbook/generating_response/search/search.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/generating_response/status/status.ecf b/doc/workbook/generating_response/status/status.ecf index ddcf39a0..5a8bc240 100644 --- a/doc/workbook/generating_response/status/status.ecf +++ b/doc/workbook/generating_response/status/status.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_cookies/example/example.ecf b/doc/workbook/handling_cookies/example/example.ecf index 8b064e3b..429c0222 100644 --- a/doc/workbook/handling_cookies/example/example.ecf +++ b/doc/workbook/handling_cookies/example/example.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/form/get/form.ecf b/doc/workbook/handling_request/form/get/form.ecf index 5841d747..8246ec50 100644 --- a/doc/workbook/handling_request/form/get/form.ecf +++ b/doc/workbook/handling_request/form/get/form.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/form/post/form.ecf b/doc/workbook/handling_request/form/post/form.ecf index 547713d6..7e13476e 100644 --- a/doc/workbook/handling_request/form/post/form.ecf +++ b/doc/workbook/handling_request/form/post/form.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/headers/browser_name/browsers.ecf b/doc/workbook/handling_request/headers/browser_name/browsers.ecf index 7a798643..da6c8e50 100644 --- a/doc/workbook/handling_request/headers/browser_name/browsers.ecf +++ b/doc/workbook/handling_request/headers/browser_name/browsers.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf b/doc/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf index 57e837d6..6be63ef6 100644 --- a/doc/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf +++ b/doc/workbook/handling_request/headers/cgi_variables/cgi_variables.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/headers/header_fields/header_fields.ecf b/doc/workbook/handling_request/headers/header_fields/header_fields.ecf index cec11da3..21a62e5a 100644 --- a/doc/workbook/handling_request/headers/header_fields/header_fields.ecf +++ b/doc/workbook/handling_request/headers/header_fields/header_fields.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + diff --git a/doc/workbook/handling_request/upload_file/upload.ecf b/doc/workbook/handling_request/upload_file/upload.ecf index dc9ce0dc..8bce233a 100644 --- a/doc/workbook/handling_request/upload_file/upload.ecf +++ b/doc/workbook/handling_request/upload_file/upload.ecf @@ -13,12 +13,12 @@ - + - + @@ -37,6 +37,6 @@ - + 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 1266fc5e..74c04783 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 @@ -14,9 +14,9 @@ - + - + @@ -30,6 +30,6 @@ - + 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 02a6a1ab..3c441773 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 @@ -14,9 +14,9 @@ - + - + @@ -30,6 +30,6 @@ - + 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 8f6f3c24..d377d6ae 100644 --- a/draft/library/server/wsf_js_widget/examples/demo/demo.ecf +++ b/draft/library/server/wsf_js_widget/examples/demo/demo.ecf @@ -16,12 +16,12 @@ - + - + @@ -40,6 +40,6 @@ - + diff --git a/draft/src/gewf/template/basic/${APPNAME}.ecf.tpl b/draft/src/gewf/template/basic/${APPNAME}.ecf.tpl index d293c122..3bc78bc5 100644 --- a/draft/src/gewf/template/basic/${APPNAME}.ecf.tpl +++ b/draft/src/gewf/template/basic/${APPNAME}.ecf.tpl @@ -17,13 +17,13 @@ - + - + - + @@ -40,6 +40,6 @@ - + diff --git a/draft/src/gewf/template/basic/ecf-target-any_connector.tpl b/draft/src/gewf/template/basic/ecf-target-any_connector.tpl index eb7f6c90..a8d32481 100644 --- a/draft/src/gewf/template/basic/ecf-target-any_connector.tpl +++ b/draft/src/gewf/template/basic/ecf-target-any_connector.tpl @@ -2,7 +2,7 @@ - + diff --git a/draft/src/gewf/template/basic/launcher/any/application_launcher_i.e b/draft/src/gewf/template/basic/launcher/any/application_launcher_i.e index 60238588..2e63ce7e 100644 --- a/draft/src/gewf/template/basic/launcher/any/application_launcher_i.e +++ b/draft/src/gewf/template/basic/launcher/any/application_launcher_i.e @@ -22,8 +22,8 @@ feature -- Execution nature: like launcher_nature do nature := launcher_nature - if nature = Void or else nature = nature_nino then - launch_nino (a_service, opts) + if nature = Void or else nature = nature_standalone then + launch_standalone (a_service, opts) elseif nature = nature_cgi then launch_cgi (a_service, opts) elseif nature = nature_libfcgi then @@ -38,7 +38,7 @@ feature {NONE} -- Access launcher_nature: detachable READABLE_STRING_8 -- Initialize the launcher nature - -- either cgi, libfcgi, or nino. + -- either cgi, libfcgi, or standalone. --| We could extend with more connector if needed. --| and we could use WSF_DEFAULT_SERVICE_LAUNCHER to configure this at compilation time. local @@ -51,8 +51,8 @@ feature {NONE} -- Access ext := l_entry.extension end if ext /= Void then - if ext.same_string (nature_nino) then - Result := nature_nino + if ext.same_string (nature_standalone) then + Result := nature_standalone end if ext.same_string (nature_cgi) then Result := nature_cgi @@ -63,13 +63,13 @@ feature {NONE} -- Access end end -feature {NONE} -- nino +feature {NONE} -- standalone - nature_nino: STRING = "nino" + nature_standalone: STRING = "standalone" - launch_nino (a_service: WSF_SERVICE; opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS) + launch_standalone (a_service: WSF_SERVICE; opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS) local - launcher: WSF_NINO_SERVICE_LAUNCHER + launcher: WSF_STANDALONE_SERVICE_LAUNCHER do create launcher.make_and_launch (a_service, opts) end diff --git a/examples/debug/debug.ecf b/examples/debug/debug.ecf index 948e3e8e..2d625508 100644 --- a/examples/debug/debug.ecf +++ b/examples/debug/debug.ecf @@ -21,7 +21,6 @@ - @@ -33,12 +32,6 @@ - - - - - - @@ -51,6 +44,6 @@ - + diff --git a/examples/debug/launcher/any/application_launcher_i.e b/examples/debug/launcher/any/application_launcher_i.e index 9e062274..570f8e20 100644 --- a/examples/debug/launcher/any/application_launcher_i.e +++ b/examples/debug/launcher/any/application_launcher_i.e @@ -24,8 +24,6 @@ feature -- Execution nature := launcher_nature if nature = Void or else nature = nature_standalone then launch_standalone (opts) - elseif nature = nature_nino then - launch_nino (opts) elseif nature = nature_cgi then launch_cgi (opts) elseif nature = nature_libfcgi then @@ -40,7 +38,7 @@ feature {NONE} -- Access launcher_nature: detachable READABLE_STRING_8 -- Initialize the launcher nature - -- either cgi, libfcgi, or nino. + -- either cgi, libfcgi, or standalone. --| We could extend with more connector if needed. --| and we could use WSF_DEFAULT_SERVICE_LAUNCHER to configure this at compilation time. local @@ -55,9 +53,6 @@ feature {NONE} -- Access if ext.same_string (nature_standalone) then Result := nature_standalone end - if ext.same_string (nature_nino) then - Result := nature_nino - end if ext.same_string (nature_cgi) then Result := nature_cgi end @@ -68,7 +63,7 @@ feature {NONE} -- Access Result := nature_standalone end -feature {NONE} -- nino +feature {NONE} -- Standalone nature_standalone: STRING = "standalone" @@ -79,17 +74,6 @@ feature {NONE} -- nino create launcher.make_and_launch (opts) end -feature {NONE} -- nino - - nature_nino: STRING = "nino" - - launch_nino (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS) - local - launcher: WSF_NINO_SERVICE_LAUNCHER [G] - do - create launcher.make_and_launch (opts) - end - feature {NONE} -- cgi nature_cgi: STRING = "cgi" diff --git a/examples/desktop_app/README.md b/examples/desktop_app/README.md index f9054fb4..49182b72 100644 --- a/examples/desktop_app/README.md +++ b/examples/desktop_app/README.md @@ -1,2 +1,2 @@ -This example demonstrates the use of embedded Vision2 web browser component, and embedded EWF server (using nino). +This example demonstrates the use of embedded Vision2 web browser component, and embedded EWF server (using standalone). diff --git a/examples/filter/filter-safe.ecf b/examples/filter/filter-safe.ecf index ee9ae074..4f33d37a 100644 --- a/examples/filter/filter-safe.ecf +++ b/examples/filter/filter-safe.ecf @@ -7,7 +7,6 @@ /\.svn$ @@ -20,11 +19,6 @@ - - - - - @@ -36,6 +30,6 @@ - + diff --git a/examples/restbucksCRUD/readme.md b/examples/restbucksCRUD/readme.md index 6b85f132..613b81cd 100644 --- a/examples/restbucksCRUD/readme.md +++ b/examples/restbucksCRUD/readme.md @@ -25,7 +25,7 @@ Note:
RESTBUCKS_SERVER ---------------- -This class implement the main entry of our REST CRUD service, we are using a default connector (Nino Connector, +This class implement the main entry of our REST CRUD service, we are using a default connector (Standalone Connector, using a WebServer written in Eiffel). We are inheriting from URI_TEMPLATE_ROUTED_SERVICE, this allows us to map our service contrat, as is shown in the previous table, the mapping is defined in the feature setup_router, this also show that the class ORDER_HANDLER will be encharge @@ -41,7 +41,7 @@ of to handle different type of request to the ORDER resource. URI_TEMPLATE_ROUTED_SERVICE DEFAULT_SERVICE - -- Here we are using a default connector using the default Nino Connector, + -- Here we are using a default connector using the default Standalone Connector, -- but it's possible to use other connector (CGI or FCGI). create diff --git a/examples/tutorial/README.wiki b/examples/tutorial/README.wiki index e2d6b9e3..87d9c600 100644 --- a/examples/tutorial/README.wiki +++ b/examples/tutorial/README.wiki @@ -12,7 +12,6 @@ Currently, 4 connectors are available within EWF (but others are available outsi *­ CGI: the common CGI application (apache, iis, ...) * FastCGI: on any server supporting libfcgi handling (apache, iis, ...) * Standalone: a standalone Eiffel Web server, it can be run anywhere easily, and debug simply with EiffelStudio's debugger. It supports all concurrency modes, and require EiffelStudio >= 15.05. -* Nino: similar to the "standalone" connectors, but lack good concurrency support. Supporting a new connector is fairly simple, it just has to support the simple EWSGI specification which is really small. Then EWF will bring the power on top of it. diff --git a/examples/tutorial/step_2/hello/alternatives/launcher/hello_with_launcher.ecf b/examples/tutorial/step_2/hello/alternatives/launcher/hello_with_launcher.ecf index 00ef9259..7e0da296 100644 --- a/examples/tutorial/step_2/hello/alternatives/launcher/hello_with_launcher.ecf +++ b/examples/tutorial/step_2/hello/alternatives/launcher/hello_with_launcher.ecf @@ -13,7 +13,7 @@ - +
diff --git a/examples/tutorial/step_2/hello/src/custom_hello_application.e b/examples/tutorial/step_2/hello/src/custom_hello_application.e index 5f0abe5c..1e84dc72 100644 --- a/examples/tutorial/step_2/hello/src/custom_hello_application.e +++ b/examples/tutorial/step_2/hello/src/custom_hello_application.e @@ -27,7 +27,7 @@ feature {NONE} -- Initialization --| Uncomment the following line, to be able to load options from the file ewf.ini -- create {WSF_SERVICE_LAUNCHER_OPTIONS_FROM_INI} service_options.make_from_file ("ewf.ini") - --| You can also uncomment the following line if you use the Nino connector + --| You can also uncomment the following line if you use the Standalone connector --| so that the server listens on port 9999 --| quite often the port 80 is already busy set_service_option ("port", 9999) diff --git a/examples/tutorial/step_3/hello/ewf.ini b/examples/tutorial/step_3/hello/ewf.ini index fad6acb1..7b687ba8 100644 --- a/examples/tutorial/step_3/hello/ewf.ini +++ b/examples/tutorial/step_3/hello/ewf.ini @@ -1,4 +1,4 @@ -# For nino connector, use port 9999 +# For Standalone connector, use port 9999 port=9999 #verbose=true diff --git a/examples/tutorial/step_3/hello/src/hello_application.e b/examples/tutorial/step_3/hello/src/hello_application.e index bbaea8a1..0a506759 100644 --- a/examples/tutorial/step_3/hello/src/hello_application.e +++ b/examples/tutorial/step_3/hello/src/hello_application.e @@ -28,7 +28,7 @@ feature {NONE} -- Initialization --| Uncomment the following line, to be able to load options from the file ewf.ini create {WSF_SERVICE_LAUNCHER_OPTIONS_FROM_INI} service_options.make_from_file ("ewf.ini") - --| You can also uncomment the following line if you use the Nino connector + --| You can also uncomment the following line if you use the Standalone connector --| so that the server listens on port 9999 --| quite often the port 80 is already busy -- set_service_option ("port", 9999) diff --git a/examples/tutorial/step_4/hello/ewf.ini b/examples/tutorial/step_4/hello/ewf.ini index fad6acb1..013243a2 100644 --- a/examples/tutorial/step_4/hello/ewf.ini +++ b/examples/tutorial/step_4/hello/ewf.ini @@ -1,4 +1,4 @@ -# For nino connector, use port 9999 +# For standalone connector, use port 9999 port=9999 #verbose=true diff --git a/examples/upload_image/src/image_uploader.e b/examples/upload_image/src/image_uploader.e index 06f1037d..28e02cf1 100644 --- a/examples/upload_image/src/image_uploader.e +++ b/examples/upload_image/src/image_uploader.e @@ -22,7 +22,7 @@ feature {NONE} -- Initialization make -- Initialize Current do - -- To use particular port number (as 9090) with Nino connector + -- To use particular port number (as 9090) with Standalone connector -- Uncomment the following line set_service_option ("port", 9090) make_and_launch diff --git a/library/library.index b/library/library.index index 379ba989..b98acfcd 100644 --- a/library/library.index +++ b/library/library.index @@ -22,8 +22,8 @@ cgi-safe : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\cgi\cgi-safe cgi : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\cgi\cgi.ecf libfcgi-safe : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\libfcgi\libfcgi-safe.ecf libfcgi : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\libfcgi\libfcgi.ecf -nino-safe : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\nino\nino-safe.ecf -nino : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\nino\nino.ecf +standalone-safe : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\standalone\standalone-safe.ecf +standalone : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\standalone\standalone.ecf null-safe : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\null\null-safe.ecf null : C:\_dev\projects\ewf\ewf\library\server\ewsgi\connectors\null\null.ecf libfcgi-safe : C:\_dev\projects\ewf\ewf\library\server\libfcgi\libfcgi-safe.ecf @@ -43,15 +43,15 @@ cgi-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\cgi-safe.ecf cgi : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\cgi.ecf libfcgi-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\libfcgi-safe.ecf libfcgi : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\libfcgi.ecf -nino-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\nino-safe.ecf -nino : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\nino.ecf +standalone-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\standalone-safe.ecf +standalone : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\standalone.ecf openshift-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\connector\openshift-safe.ecf cgi-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\default\cgi-safe.ecf cgi : C:\_dev\projects\ewf\ewf\library\server\wsf\default\cgi.ecf libfcgi-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\default\libfcgi-safe.ecf libfcgi : C:\_dev\projects\ewf\ewf\library\server\wsf\default\libfcgi.ecf -nino-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\default\nino-safe.ecf -nino : C:\_dev\projects\ewf\ewf\library\server\wsf\default\nino.ecf +standalone-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\default\standalone-safe.ecf +standalone : C:\_dev\projects\ewf\ewf\library\server\wsf\default\standalone.ecf openshift-safe : C:\_dev\projects\ewf\ewf\library\server\wsf\default\openshift-safe.ecf wsf_html-safe : C:\_dev\projects\ewf\ewf\library\server\wsf_html\wsf_html-safe.ecf wsf_html : C:\_dev\projects\ewf\ewf\library\server\wsf_html\wsf_html.ecf diff --git a/library/security/openid/consumer/demo/application.e b/library/security/openid/consumer/demo/application.e index 2f4de614..da737f42 100644 --- a/library/security/openid/consumer/demo/application.e +++ b/library/security/openid/consumer/demo/application.e @@ -8,7 +8,7 @@ class inherit ANY - + SHARED_EXECUTION_ENVIRONMENT export {NONE} all @@ -21,7 +21,7 @@ feature {NONE} -- Initialization make_and_launch local - launcher: WSF_NINO_SERVICE_LAUNCHER [APPLICATION_EXECUTION] + launcher: WSF_STANDALONE_SERVICE_LAUNCHER [APPLICATION_EXECUTION] opts: WSF_SERVICE_LAUNCHER_OPTIONS do create opts.make @@ -32,24 +32,22 @@ feature {NONE} -- Initialization launcher.launch end - on_launched (conn: WGI_CONNECTOR) + on_launched (a_connector: WGI_STANDALONE_CONNECTOR [APPLICATION_EXECUTION]) local e: EXECUTION_ENVIRONMENT cmd: STRING_32 do - if attached {WGI_NINO_CONNECTOR [APPLICATION_EXECUTION]} conn as nino then - e := execution_environment - create cmd.make (32) - if attached e.item ("COMSPEC") as l_comspec then - cmd.append (l_comspec) - cmd.append ({STRING_32} " /C start ") - end - cmd.append ("http://localhost:") - cmd.append_integer (nino.port) - cmd.append_character ({CHARACTER_32} '/') - - e.launch (cmd) + e := execution_environment + create cmd.make (32) + if attached e.item ("COMSPEC") as l_comspec then + cmd.append (l_comspec) + cmd.append ({STRING_32} " /C start ") end + cmd.append ("http://localhost:") + cmd.append_integer (a_connector.port) + cmd.append_character ({CHARACTER_32} '/') + + e.launch (cmd) end end diff --git a/library/security/openid/consumer/demo/application_execution.e b/library/security/openid/consumer/demo/application_execution.e index 1220c82a..c04bc597 100644 --- a/library/security/openid/consumer/demo/application_execution.e +++ b/library/security/openid/consumer/demo/application_execution.e @@ -42,12 +42,12 @@ feature {NONE} -- Initialization m.set_title ("EWF::OpenID demo") create s.make_empty s.append ("
%N") - s.append ("OpenID identifier ") + s.append ("Any OpenID identifier ") s.append ("") s.append ("
%N") s.append ("
%N") - s.append ("OpenID identifier ") - s.append ("") + s.append ("OpenID identifier ") + s.append ("") s.append ("
%N") m.set_body (s) res.send (m) diff --git a/library/security/openid/consumer/demo/demo-safe.ecf b/library/security/openid/consumer/demo/demo-safe.ecf index ac320d01..3d9c33c2 100644 --- a/library/security/openid/consumer/demo/demo-safe.ecf +++ b/library/security/openid/consumer/demo/demo-safe.ecf @@ -1,23 +1,25 @@ - + - /EIFGENs$ - /CVS$ /.svn$ + /CVS$ + /EIFGENs$ - - - + - + + + diff --git a/library/server/authentication/http_authorization/example/demo_basic_auth.ecf b/library/server/authentication/http_authorization/example/demo_basic_auth.ecf index 72866901..2f10c85b 100644 --- a/library/server/authentication/http_authorization/example/demo_basic_auth.ecf +++ b/library/server/authentication/http_authorization/example/demo_basic_auth.ecf @@ -15,7 +15,7 @@ - +
diff --git a/library/server/ewsgi/README.md b/library/server/ewsgi/README.md index 70c0b36c..40ee3d43 100644 --- a/library/server/ewsgi/README.md +++ b/library/server/ewsgi/README.md @@ -2,7 +2,7 @@ ## Overview The main goal of this library is to provide a common layer on top of many different connectors. -A connector is a library used for the integration of Eiffel web server application with an underlying httpd server technology such as CGI, libFCGI, or even standalone Eiffel Web Nino (which is a httpd server written in Eiffel). +A connector is a library used for the integration of Eiffel web server application with an underlying httpd server technology such as CGI, libFCGI, or even standalone Eiffel Web Standalone (which is a httpd server written in Eiffel). Then one can build an Eiffel web service compliant with EWSGI specification, and thus with the same code (or almost), this could be compiled to run on any available connectors. diff --git a/library/server/ewsgi/examples/hello_world/hello-safe.ecf b/library/server/ewsgi/examples/hello_world/hello-safe.ecf index 8d992f5c..3c3745ed 100644 --- a/library/server/ewsgi/examples/hello_world/hello-safe.ecf +++ b/library/server/ewsgi/examples/hello_world/hello-safe.ecf @@ -11,7 +11,7 @@ - +
diff --git a/library/server/ewsgi/examples/hello_world/hello.ecf b/library/server/ewsgi/examples/hello_world/hello.ecf index 9d081303..dd58ec91 100644 --- a/library/server/ewsgi/examples/hello_world/hello.ecf +++ b/library/server/ewsgi/examples/hello_world/hello.ecf @@ -11,7 +11,7 @@ - +
diff --git a/library/server/ewsgi/examples/hello_world/src/hello_world.e b/library/server/ewsgi/examples/hello_world/src/hello_world.e index 260aa393..0c71ba22 100644 --- a/library/server/ewsgi/examples/hello_world/src/hello_world.e +++ b/library/server/ewsgi/examples/hello_world/src/hello_world.e @@ -14,8 +14,8 @@ feature {NONE} -- Initialization make do - print ("Example: start a Nino web server on port " + port_number.out + ", %Nand reply Hello World for any request such as http://localhost:8123/%N") - (create {NINO_SERVICE [HELLO_WORLD_EXECUTION]}.make_custom ("")).listen (port_number) + print ("Example: start a Standalone web server on port " + port_number.out + ", %Nand reply Hello World for any request such as http://localhost:8123/%N") + (create {STANDALONE_SERVICE [HELLO_WORLD_EXECUTION]}.make_custom ("")).listen (port_number) end port_number: INTEGER = 8123 diff --git a/library/server/wsf/connector/all-safe.ecf b/library/server/wsf/connector/all-safe.ecf index ad23f576..4bb1db23 100644 --- a/library/server/wsf/connector/all-safe.ecf +++ b/library/server/wsf/connector/all-safe.ecf @@ -12,11 +12,12 @@ - + + @@ -24,6 +25,6 @@ - +
diff --git a/library/server/wsf/connector/openshift-safe.ecf b/library/server/wsf/connector/openshift-safe.ecf index 7bbb62cf..9cdae217 100644 --- a/library/server/wsf/connector/openshift-safe.ecf +++ b/library/server/wsf/connector/openshift-safe.ecf @@ -12,7 +12,7 @@ - +
diff --git a/library/server/wsf/connector/openshift/wsf_openshift_service_launcher.e b/library/server/wsf/connector/openshift/wsf_openshift_service_launcher.e index 4fe7c19b..e42ef82d 100644 --- a/library/server/wsf/connector/openshift/wsf_openshift_service_launcher.e +++ b/library/server/wsf/connector/openshift/wsf_openshift_service_launcher.e @@ -2,13 +2,12 @@ note description: "[ Component to launch the service using the default connector - Eiffel Web Nino customized for OpenShift + EiffelWeb standalone customized for OpenShift This default connector support options: base: base_url (very specific to standalone server) - verbose: to display verbose output, useful for Nino - force_single_threaded: use only one thread, useful for Nino + verbose: to display verbose output, useful for standalone check WSF_SERVICE_LAUNCHER for more documentation ]" @@ -19,7 +18,7 @@ class WSF_OPENSHIFT_SERVICE_LAUNCHER [G -> WSF_EXECUTION create make end] inherit - WSF_NINO_SERVICE_LAUNCHER [G] + WSF_STANDALONE_SERVICE_LAUNCHER [G] redefine initialize end diff --git a/library/server/wsf/src/service/wsf_service_launcher_options.e b/library/server/wsf/src/service/wsf_service_launcher_options.e index 1394c17d..e6248da5 100644 --- a/library/server/wsf/src/service/wsf_service_launcher_options.e +++ b/library/server/wsf/src/service/wsf_service_launcher_options.e @@ -2,11 +2,10 @@ note description: "[ Options used by WSF_SERVICE_LAUNCHER - For instance options supported by Nino as default connector:: + For instance options supported by Standalone as default connector:: port: numeric such as 8099 (or equivalent string as "8099") base: base_url (very specific to standalone server) - force_single_threaded: use only one thread, useful for Nino - verbose: to display verbose output, useful for Nino + verbose: to display verbose output, useful for Standalone ]" date: "$Date: 2016-08-06 13:34:52 +0200 (sam., 06 août 2016) $" revision: "$Revision: 99106 $" diff --git a/library/server/wsf/tests/echo/echo-safe.ecf b/library/server/wsf/tests/echo/echo-safe.ecf index d5cbbae4..5b758df6 100644 --- a/library/server/wsf/tests/echo/echo-safe.ecf +++ b/library/server/wsf/tests/echo/echo-safe.ecf @@ -11,9 +11,9 @@ - + - + diff --git a/library/server/wsf/tests/server/test.e b/library/server/wsf/tests/server/test.e index f672cb23..1b0758b8 100644 --- a/library/server/wsf/tests/server/test.e +++ b/library/server/wsf/tests/server/test.e @@ -13,11 +13,17 @@ feature {NONE} -- Initialization make -- Initialize `Current'. + local + base_url: detachable READABLE_STRING_8 do print ("Test Server that could be used for autotest%N") --- base_url := "/test/" + base_url := {TEST_SETTINGS}.base_url + if base_url.is_whitespace then + base_url := Void + end - set_service_option ("port", 9091) + set_service_option ("port", {TEST_SETTINGS}.port_number) + set_service_option ("base", base_url) set_service_option ("verbose", True) make_and_launch end diff --git a/library/server/wsf/tests/server/test_execution.e b/library/server/wsf/tests/server/test_execution.e index be73d987..db7d0179 100644 --- a/library/server/wsf/tests/server/test_execution.e +++ b/library/server/wsf/tests/server/test_execution.e @@ -35,6 +35,13 @@ feature -- Helper end base_url: detachable STRING + once + Result := {TEST_SETTINGS}.base_url + + if Result.is_whitespace then + Result := Void + end + end test_url (a_query_url: READABLE_STRING_8): READABLE_STRING_8 local diff --git a/library/server/wsf/tests/server/test_settings.e b/library/server/wsf/tests/server/test_settings.e new file mode 100644 index 00000000..b30ee4c3 --- /dev/null +++ b/library/server/wsf/tests/server/test_settings.e @@ -0,0 +1,16 @@ +note + description: "Summary description for {TEST_SETTINGS}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + TEST_SETTINGS + +feature -- Access + + port_number: INTEGER = 9091 + + base_url: STRING = "" --"/test/" + +end diff --git a/library/server/wsf/tests/src/test_wsf_request.e b/library/server/wsf/tests/src/test_wsf_request.e index fadd050a..9f0986c1 100644 --- a/library/server/wsf/tests/src/test_wsf_request.e +++ b/library/server/wsf/tests/src/test_wsf_request.e @@ -19,33 +19,49 @@ inherit feature {NONE} -- Events - web_app: detachable NINO_SERVICE [TEST_EXECUTION] + web_connector: detachable separate WGI_STANDALONE_CONNECTOR [TEST_EXECUTION] port_number: INTEGER - base_url: detachable STRING + base_url: detachable separate STRING + once + if attached local_base_url as b and then not b.is_whitespace then + create Result.make_from_separate (b) + end + end + + local_base_url: detachable STRING + once + create Result.make_from_string ({TEST_SETTINGS}.base_url) + if Result.is_whitespace then + Result := Void + end + end on_prepare -- local - app: NINO_SERVICE [TEST_EXECUTION] - wt: WORKER_THREAD + conn: separate WGI_STANDALONE_CONNECTOR [TEST_EXECUTION] e: EXECUTION_ENVIRONMENT do create e --- port_number := 9091 -- Uncomment to use with server outside this process +-- port_number := {TEST_SETTINGS}.port_number -- Uncomment to use with server outside this process if port_number = 0 then server_log ("== Current directory: " + e.current_working_directory) - port_number := 0 - base_url := "/test/" - create app.make_custom (base_url) - web_app := app - create wt.make (agent app.listen (port_number)) - wt.launch - e.sleep (1_000_000_000 * 5) - port_number := app.port - server_log ("Server port=" + port_number.out) + if attached base_url as b then + create conn.make_with_base (b) + else + create conn.make + end + web_connector := conn + setup_connector (conn) + launch_connector (conn) + +-- e.sleep (1_000_000_000 * 5) + get_port_number (conn) + +-- get_port_number (app.connector) else server_log ("Use existing server") server_log ("== Current directory: " + e.current_working_directory) @@ -53,6 +69,26 @@ feature {NONE} -- Events end end + setup_connector (conn: attached like web_connector) + do + conn.set_is_verbose (True) + conn.set_port_number (port_number) + conn.set_socket_recv_timeout (5) + end + + launch_connector (conn: attached like web_connector) + do + conn.launch + end + + get_port_number (conn: attached like web_connector) + require + conn.port > 0 + do + port_number := conn.port + server_log ("Server port=" + port_number.out) + end + server_log_name: STRING local fn: FILE_NAME @@ -78,9 +114,9 @@ feature {NONE} -- Events test_url (a_query_url: READABLE_STRING_8): READABLE_STRING_8 local - b: like base_url + b: like local_base_url do - b := base_url + b := local_base_url if b = Void then b := "" end @@ -90,24 +126,29 @@ feature {NONE} -- Events on_clean -- do - if attached web_app as app then - app.shutdown + if attached web_connector as conn then + shutdown_server (conn) end end + shutdown_server (conn: attached like web_connector) + do + conn.shutdown_server + end + http_session: detachable HTTP_CLIENT_SESSION get_http_session local - h: LIBCURL_HTTP_CLIENT - b: like base_url + h: DEFAULT_HTTP_CLIENT + b: like local_base_url do - create h.make - b := base_url + create h + b := local_base_url if b = Void then b := "/" end - if attached {HTTP_CLIENT_SESSION} h.new_session ("localhost:" + port_number.out + b) as sess then + if attached {HTTP_CLIENT_SESSION} h.new_session ("http://localhost:" + port_number.out + b) as sess then http_session := sess sess.set_timeout (-1) sess.set_is_debug (True) @@ -120,15 +161,24 @@ feature {NONE} -- Events do get_http_session if attached http_session as sess then + print ("Request: " + a_url + " ...%N") if attached sess.get (a_url, adapted_context (ctx)) as res then if attached res.body as l_body then if res.error_occurred then - assert ("Request %""+a_url+"%" failed, got=[" + l_body + "]", False) + if attached res.error_message as err_msg then + assert ("Request %""+a_url+"%" failed, got=[" + l_body + "] error:" + err_msg, False) + else + assert ("Request %""+a_url+"%" failed, got=[" + l_body + "] error:N/A", False) + end else assert ("Good answer got=%""+l_body+"%" expected=%""+a_expected_body+"%"", l_body.same_string (a_expected_body)) end else - assert ("Request %""+a_url+"%" failed, no body, status=" + res.status.out , False) + if attached res.error_message as err_msg then + assert ("Request %""+a_url+"%" failed, no body, status=" + res.status.out + " error:" + err_msg, False) + else + assert ("Request %""+a_url+"%" failed, no body, status=" + res.status.out + " error:N/A", False) + end end end end @@ -146,18 +196,34 @@ feature {NONE} -- Events end end - test_post_request_with_filename (a_url: READABLE_STRING_8; ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; a_fn: STRING; a_expected_body: READABLE_STRING_8) + test_post_request_with_filename (a_url: READABLE_STRING_8; ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT; a_fn: STRING; a_expected_body: detachable READABLE_STRING_8; a_expected_starting_body: detachable READABLE_STRING_8) do get_http_session if attached http_session as sess then - if attached sess.post_file (a_url, adapted_context (ctx), a_fn) as res and then not res.error_occurred and then attached res.body as l_body then - assert ("Good answer got=%""+l_body+"%" expected=%""+a_expected_body+"%"", l_body.same_string (a_expected_body)) + if + attached sess.post_file (a_url, adapted_context (ctx), a_fn) as res and then + not res.error_occurred and then + attached res.body as l_body + then + assert ("Good answer got=%""+l_body+"%" expected=%""+ safe_out (a_expected_body) +"%"", + (a_expected_body /= Void implies l_body.same_string (a_expected_body)) + and (a_expected_starting_body /= Void implies l_body.starts_with (a_expected_starting_body)) + ) else assert ("Request %""+a_url+"%" failed", False) end end end + safe_out (s: detachable READABLE_STRING_8): STRING + do + if s = Void then + Result := "Void" + else + Result := s.out + end + end + adapted_context (ctx: detachable HTTP_CLIENT_REQUEST_CONTEXT): HTTP_CLIENT_REQUEST_CONTEXT do if ctx /= Void then @@ -173,6 +239,7 @@ feature -- Test routines test_get_request_01 -- New test routine do + assert ("has port", port_number > 0) get_http_session if attached http_session as sess then test_get_request ("get/01", Void, "get-01") @@ -199,11 +266,11 @@ feature -- Test routines s := "This is an uploaded file%NTesting purpose%N" f.put_string (s) f.close - test_post_request_with_filename ("post/file/01", Void, fn.string, "post-file-01%N" + s) + test_post_request_with_filename ("post/file/01 #1", Void, fn.string, "post-file-01", "post-file-01") create ctx.make ctx.add_form_parameter ("foo", "bar") - test_post_request_with_filename ("post/file/01", ctx, fn.string, "post-file-01%N" + s) + test_post_request_with_filename ("post/file/01 #2", ctx, fn.string, Void, "post-file-01") else assert ("not_implemented", False) end diff --git a/library/server/wsf/tests/tests-safe.ecf b/library/server/wsf/tests/tests-safe.ecf index 4de717c1..b87b1b7d 100644 --- a/library/server/wsf/tests/tests-safe.ecf +++ b/library/server/wsf/tests/tests-safe.ecf @@ -1,27 +1,27 @@ - + /.git$ - /EIFGENs$ /.svn$ + /EIFGENs$ - - + - - + + - + @@ -29,6 +29,7 @@ + diff --git a/tools/estudio_wizard/rootdir/resources/${APP_NAME}.ecf b/tools/estudio_wizard/rootdir/resources/${APP_NAME}.ecf index 851addd9..e4ef2809 100644 --- a/tools/estudio_wizard/rootdir/resources/${APP_NAME}.ecf +++ b/tools/estudio_wizard/rootdir/resources/${APP_NAME}.ecf @@ -18,7 +18,6 @@ {if condition="$WIZ.connectors.use_cgi ~ $WIZ_YES"}{/if} {if condition="$WIZ.connectors.use_libfcgi ~ $WIZ_YES"}{/if} {if condition="$WIZ.connectors.use_standalone ~ $WIZ_YES"}{/if} - {if condition="$WIZ.connectors.use_nino ~ $WIZ_YES"}{/if} @@ -35,16 +34,6 @@ {/if} -{if condition="$WIZ.connectors.use_nino ~ $WIZ_YES"} - - - - - - - - - {/if} {if condition="$WIZ.connectors.use_cgi ~ $WIZ_YES"} diff --git a/tools/estudio_wizard/rootdir/resources/ewf.ini b/tools/estudio_wizard/rootdir/resources/ewf.ini index ab5f2498..880d1da5 100644 --- a/tools/estudio_wizard/rootdir/resources/ewf.ini +++ b/tools/estudio_wizard/rootdir/resources/ewf.ini @@ -1,4 +1,4 @@ -# For nino connector, use port {$WIZ.standalone_connector.port/} +# For Standalone connector, use port {$WIZ.standalone_connector.port/} port={$WIZ.standalone_connector.port/} #verbose=true diff --git a/tools/estudio_wizard/rootdir/resources/launcher/any/application_launcher_i.e b/tools/estudio_wizard/rootdir/resources/launcher/any/application_launcher_i.e index ff7a5956..c6213e30 100644 --- a/tools/estudio_wizard/rootdir/resources/launcher/any/application_launcher_i.e +++ b/tools/estudio_wizard/rootdir/resources/launcher/any/application_launcher_i.e @@ -31,7 +31,7 @@ feature -- Execution -- Choose a default -> standalone create {WSF_STANDALONE_SERVICE_LAUNCHER} launcher.make_and_launch (opts){/literal}{/if} {if condition="$WIZ.connectors.use_standalone ~ $WIZ_YES"}{literal} - elseif is_nino_launcher_id (l_id) then + elseif is_standalone_launcher_id (l_id) then create {WSF_STANDALONE_SERVICE_LAUNCHER} launcher.make_and_launch (opts){/literal}{/if} {if condition="$WIZ.connectors.use_libfcgi ~ $WIZ_YES"}{literal} elseif is_libfcgi_launcher_id (l_id) then @@ -39,9 +39,9 @@ feature -- Execution {if condition="$WIZ.connectors.use_cgi ~ $WIZ_YES"}{literal} elseif is_cgi_launcher_id (l_id) then create {WSF_CGI_SERVICE_LAUNCHER} launcher.make_and_launch (opts){/literal}{/if} -{if condition="$WIZ.connectors.use_nino ~ $WIZ_YES"}{literal} - elseif is_nino_launcher_id (l_id) then - create {WSF_NINO_SERVICE_LAUNCHER} launcher.make_and_launch (opts){/literal}{/if} +{if condition="$WIZ.connectors.use_standalone ~ $WIZ_YES"}{literal} + elseif is_standalone_launcher_id (l_id) then + create {WSF_STANDALONE_SERVICE_LAUNCHER} launcher.make_and_launch (opts){/literal}{/if} {literal} else io.error.put_string ("Application launcher not found!%N") @@ -52,7 +52,7 @@ feature -- Execution launcher_id: detachable READABLE_STRING_GENERAL -- Launcher id based on the executable extension name if any. -- This can be redefine to customize for your application. - --| ex: nino, cgi, libfcgi or Void. + --| ex: standalone, cgi, libfcgi or Void. do if attached (create {PATH}.make_from_string (execution_environment.arguments.command_name)).extension as ext then Result := ext @@ -62,17 +62,11 @@ feature -- Execution feature -- Status report {/literal} {if condition="$WIZ.connectors.use_standalone ~ $WIZ_YES"} - is_nino_launcher_id (a_id: READABLE_STRING_GENERAL): BOOLEAN + is_standalone_launcher_id (a_id: READABLE_STRING_GENERAL): BOOLEAN do Result := a_id.is_case_insensitive ("standalone") end{/if} -{if condition="$WIZ.connectors.use_nino ~ $WIZ_YES"} - is_nino_launcher_id (a_id: READABLE_STRING_GENERAL): BOOLEAN - do - Result := a_id.is_case_insensitive ("nino") - end{/if} - {if condition="$WIZ.connectors.use_cgi ~ $WIZ_YES"} is_cgi_launcher_id (a_id: READABLE_STRING_GENERAL): BOOLEAN do diff --git a/tools/estudio_wizard/src/ewf_wizard.e b/tools/estudio_wizard/src/ewf_wizard.e index f98cea13..253c7459 100644 --- a/tools/estudio_wizard/src/ewf_wizard.e +++ b/tools/estudio_wizard/src/ewf_wizard.e @@ -84,12 +84,10 @@ Web application runs on top of connectors Select connectors you want to support: ]") Result.add_boolean_question ("Standalone", "use_standalone", "Using the standalone Eiffel Web server") - Result.add_boolean_question ("Nino", "use_nino", "Using the Eiffel Web nino server") Result.add_boolean_question ("CGI", "use_cgi", "Require a httpd server") Result.add_boolean_question ("libFCGI", "use_libfcgi", "Require a httpd server") Result.data.force ("yes", "use_standalone") - Result.data.force ("no", "use_nino") Result.data.force ("yes", "use_cgi") Result.data.force ("yes", "use_libfcgi") end @@ -97,7 +95,7 @@ Select connectors you want to support: standalone_connector_page: WIZARD_PAGE once Result := new_page ("standalone_connector") - Result.set_title ("Standalone (or nino) connector") + Result.set_title ("Standalone connector") Result.set_subtitle ("Set options .") Result.add_integer_question ("Port number", "port", "It happens port 80 is already taken, thus choose another one.") Result.add_boolean_question ("Verbose", "verbose", "Verbose output") @@ -175,12 +173,6 @@ Use the filter component: end sv.append ("standalone") end - if connectors_page.boolean_field_value ("use_nino") then - if not sv.is_empty then - sv.append (", ") - end - sv.append ("nino") - end if connectors_page.boolean_field_value ("use_cgi") then if not sv.is_empty then sv.append (", ") @@ -221,7 +213,6 @@ feature -- Events elseif a_current_page = connectors_page then if connectors_page.boolean_field_value ("use_standalone") - or connectors_page.boolean_field_value ("use_nino") then Result := standalone_connector_page else