From 6fbe66ff7b6b2beba6bcd99706f54b24f33fce39 Mon Sep 17 00:00:00 2001 From: Olivier Ligot Date: Wed, 12 Jun 2013 11:31:31 +0200 Subject: [PATCH 01/12] 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. --- draft/application/cms/cms-safe.ecf | 1 + draft/application/cms/cms.ecf | 1 + draft/application/cms/src/cms_default_setup.e | 6 +++--- draft/application/cms/src/cms_service.e | 2 +- draft/application/cms/src/cms_setup.e | 2 +- .../user/user_new_password_cms_execution.e | 4 ++-- .../modules/user/user_register_cms_execution.e | 6 +++--- .../cms/src/notification/cms_storage_mailer.e | 4 ++-- .../cms/src/storage/cms_sed_storage.e | 2 +- .../application/cms/src/storage/cms_storage.e | 2 +- .../process/notification/notification-safe.ecf | 18 ++++++++++++++++++ .../process/notification/notification.ecf | 18 ++++++++++++++++++ .../notification/notification_chain_mailer.e | 12 ++++++------ .../process/notification/notification_email.e | 2 +- .../notification_external_mailer.e | 6 +++--- .../process/notification/notification_mailer.e | 8 ++++---- .../notification_sendmail_mailer.e | 6 +++--- 17 files changed, 69 insertions(+), 31 deletions(-) create mode 100644 library/runtime/process/notification/notification-safe.ecf create mode 100644 library/runtime/process/notification/notification.ecf rename draft/application/cms/src/notification/cms_chain_mailer.e => library/runtime/process/notification/notification_chain_mailer.e (74%) rename draft/application/cms/src/notification/cms_email.e => library/runtime/process/notification/notification_email.e (98%) rename draft/application/cms/src/notification/cms_external_mailer.e => library/runtime/process/notification/notification_external_mailer.e (97%) rename draft/application/cms/src/notification/cms_mailer.e => library/runtime/process/notification/notification_mailer.e (79%) rename draft/application/cms/src/notification/cms_sendmail_mailer.e => library/runtime/process/notification/notification_sendmail_mailer.e (79%) diff --git a/draft/application/cms/cms-safe.ecf b/draft/application/cms/cms-safe.ecf index e7df2d67..d8aac19c 100644 --- a/draft/application/cms/cms-safe.ecf +++ b/draft/application/cms/cms-safe.ecf @@ -23,6 +23,7 @@ + diff --git a/draft/application/cms/cms.ecf b/draft/application/cms/cms.ecf index 0eb505c1..7f9d4f4c 100644 --- a/draft/application/cms/cms.ecf +++ b/draft/application/cms/cms.ecf @@ -24,6 +24,7 @@ + diff --git a/draft/application/cms/src/cms_default_setup.e b/draft/application/cms/src/cms_default_setup.e index f9b61bea..9cfdd2fa 100644 --- a/draft/application/cms/src/cms_default_setup.e +++ b/draft/application/cms/src/cms_default_setup.e @@ -57,7 +57,7 @@ feature -- Access auth_engine: CMS_AUTH_ENGINE -- CMS Authentication engine - mailer: CMS_MAILER + mailer: NOTIFICATION_MAILER feature {NONE} -- Initialization @@ -115,12 +115,12 @@ feature {NONE} -- Initialization build_mailer local - ch_mailer: CMS_CHAIN_MAILER + ch_mailer: NOTIFICATION_CHAIN_MAILER st_mailer: CMS_STORAGE_MAILER do create st_mailer.make (storage) create ch_mailer.make (st_mailer) - ch_mailer.set_next (create {CMS_SENDMAIL_MAILER}) + ch_mailer.set_next (create {NOTIFICATION_SENDMAIL_MAILER}) mailer := ch_mailer end diff --git a/draft/application/cms/src/cms_service.e b/draft/application/cms/src/cms_service.e index d47e5b0b..a9b846c9 100644 --- a/draft/application/cms/src/cms_service.e +++ b/draft/application/cms/src/cms_service.e @@ -413,7 +413,7 @@ feature -- Content type feature -- Notification - mailer: CMS_MAILER + mailer: NOTIFICATION_MAILER feature -- Core Execution diff --git a/draft/application/cms/src/cms_setup.e b/draft/application/cms/src/cms_setup.e index 2ed8c7e0..2f2902ba 100644 --- a/draft/application/cms/src/cms_setup.e +++ b/draft/application/cms/src/cms_setup.e @@ -32,7 +32,7 @@ feature -- Access deferred end - mailer: CMS_MAILER + mailer: NOTIFICATION_MAILER -- CMS email engine deferred end diff --git a/draft/application/cms/src/modules/user/user_new_password_cms_execution.e b/draft/application/cms/src/modules/user/user_new_password_cms_execution.e index 70b60710..b0677e80 100644 --- a/draft/application/cms/src/modules/user/user_new_password_cms_execution.e +++ b/draft/application/cms/src/modules/user/user_new_password_cms_execution.e @@ -75,7 +75,7 @@ feature -- Execution password_form_submit (fd: WSF_FORM_DATA; b: STRING) local - e: detachable CMS_EMAIL + e: detachable NOTIFICATION_EMAIL l_uuid: UUID do debug @@ -144,7 +144,7 @@ feature -- Execution Result := f end - new_password_email (u: CMS_USER; a_mail_address: STRING; a_extra: READABLE_STRING_8): CMS_EMAIL + new_password_email (u: CMS_USER; a_mail_address: STRING; a_extra: READABLE_STRING_8): NOTIFICATION_EMAIL local b: STRING opts: CMS_URL_API_OPTIONS diff --git a/draft/application/cms/src/modules/user/user_register_cms_execution.e b/draft/application/cms/src/modules/user/user_register_cms_execution.e index 95369dc9..7890d5a5 100644 --- a/draft/application/cms/src/modules/user/user_register_cms_execution.e +++ b/draft/application/cms/src/modules/user/user_register_cms_execution.e @@ -73,7 +73,7 @@ feature -- Execution b: STRING u: detachable CMS_USER up: detachable CMS_USER_PROFILE - e: detachable CMS_EMAIL + e: detachable NOTIFICATION_EMAIL l_pass: detachable READABLE_STRING_32 l_uuid: UUID do @@ -174,7 +174,7 @@ feature -- Execution Result := f end - new_registration_email (a_mail_address: STRING; u: CMS_USER; a_password: detachable like {CMS_USER}.password; a_extra: READABLE_STRING_8): CMS_EMAIL + new_registration_email (a_mail_address: STRING; u: CMS_USER; a_password: detachable like {CMS_USER}.password; a_extra: READABLE_STRING_8): NOTIFICATION_EMAIL require has_clear_password: u.password /= Void or else a_password /= Void local @@ -202,7 +202,7 @@ feature -- Execution create Result.make (service.site_email, a_mail_address, "Account details for " + u.name + " at " + service.site_name, b) end - new_user_account_email (a_mail_address: STRING; u: CMS_USER): CMS_EMAIL + new_user_account_email (a_mail_address: STRING; u: CMS_USER): NOTIFICATION_EMAIL local b: STRING opts: CMS_URL_API_OPTIONS diff --git a/draft/application/cms/src/notification/cms_storage_mailer.e b/draft/application/cms/src/notification/cms_storage_mailer.e index c57e8b58..c5a4c2d7 100644 --- a/draft/application/cms/src/notification/cms_storage_mailer.e +++ b/draft/application/cms/src/notification/cms_storage_mailer.e @@ -8,7 +8,7 @@ class CMS_STORAGE_MAILER inherit - CMS_MAILER + NOTIFICATION_MAILER create make @@ -30,7 +30,7 @@ feature -- Status feature -- Basic operation - process_email (a_email: CMS_EMAIL) + process_email (a_email: NOTIFICATION_EMAIL) do storage.save_email (a_email) end diff --git a/draft/application/cms/src/storage/cms_sed_storage.e b/draft/application/cms/src/storage/cms_sed_storage.e index f8e2e881..88af06af 100644 --- a/draft/application/cms/src/storage/cms_sed_storage.e +++ b/draft/application/cms/src/storage/cms_sed_storage.e @@ -259,7 +259,7 @@ feature -- Change: user_role feature -- Email - save_email (a_email: CMS_EMAIL) + save_email (a_email: NOTIFICATION_EMAIL) local dn: STRING fn: FILE_NAME diff --git a/draft/application/cms/src/storage/cms_storage.e b/draft/application/cms/src/storage/cms_storage.e index bfe592be..4bf8818c 100644 --- a/draft/application/cms/src/storage/cms_storage.e +++ b/draft/application/cms/src/storage/cms_storage.e @@ -130,7 +130,7 @@ feature -- Change: roles and permissions feature -- Email - save_email (a_email: CMS_EMAIL) + save_email (a_email: NOTIFICATION_EMAIL) deferred end diff --git a/library/runtime/process/notification/notification-safe.ecf b/library/runtime/process/notification/notification-safe.ecf new file mode 100644 index 00000000..7e254312 --- /dev/null +++ b/library/runtime/process/notification/notification-safe.ecf @@ -0,0 +1,18 @@ + + + + + + /.git$ + /EIFGENs$ + /.svn$ + + + + + + + + + diff --git a/library/runtime/process/notification/notification.ecf b/library/runtime/process/notification/notification.ecf new file mode 100644 index 00000000..cf3757f1 --- /dev/null +++ b/library/runtime/process/notification/notification.ecf @@ -0,0 +1,18 @@ + + + + + + /.git$ + /EIFGENs$ + /.svn$ + + + + + + + + + diff --git a/draft/application/cms/src/notification/cms_chain_mailer.e b/library/runtime/process/notification/notification_chain_mailer.e similarity index 74% rename from draft/application/cms/src/notification/cms_chain_mailer.e rename to library/runtime/process/notification/notification_chain_mailer.e index f9f50cad..f6f80fe0 100644 --- a/draft/application/cms/src/notification/cms_chain_mailer.e +++ b/library/runtime/process/notification/notification_chain_mailer.e @@ -1,14 +1,14 @@ note - description: "Summary description for {CMS_CHAIN_MAILER}." + description: "Summary description for {NOTIFICATION_CHAIN_MAILER}." author: "" date: "$Date$" revision: "$Revision$" class - CMS_CHAIN_MAILER + NOTIFICATION_CHAIN_MAILER inherit - CMS_MAILER + NOTIFICATION_MAILER create make @@ -22,9 +22,9 @@ feature {NONE} -- Initialization feature -- Access - active: CMS_MAILER + active: NOTIFICATION_MAILER - next: detachable CMS_MAILER + next: detachable NOTIFICATION_MAILER feature -- Status @@ -45,7 +45,7 @@ feature -- Change feature -- Basic operation - process_email (a_email: CMS_EMAIL) + process_email (a_email: NOTIFICATION_EMAIL) do if active.is_available then active.process_email (a_email) diff --git a/draft/application/cms/src/notification/cms_email.e b/library/runtime/process/notification/notification_email.e similarity index 98% rename from draft/application/cms/src/notification/cms_email.e rename to library/runtime/process/notification/notification_email.e index 13cfe771..854b91f9 100644 --- a/draft/application/cms/src/notification/cms_email.e +++ b/library/runtime/process/notification/notification_email.e @@ -7,7 +7,7 @@ note revision : "$Revision$" class - CMS_EMAIL + NOTIFICATION_EMAIL create make diff --git a/draft/application/cms/src/notification/cms_external_mailer.e b/library/runtime/process/notification/notification_external_mailer.e similarity index 97% rename from draft/application/cms/src/notification/cms_external_mailer.e rename to library/runtime/process/notification/notification_external_mailer.e index 6a79cafa..0874ef9a 100644 --- a/draft/application/cms/src/notification/cms_external_mailer.e +++ b/library/runtime/process/notification/notification_external_mailer.e @@ -5,10 +5,10 @@ note revision : "$Revision$" class - CMS_EXTERNAL_MAILER + NOTIFICATION_EXTERNAL_MAILER inherit - CMS_MAILER + NOTIFICATION_MAILER -- SHARED_EXECUTION_ENVIRONMENT @@ -76,7 +76,7 @@ feature -- Change feature -- Basic operation - process_email (a_email: CMS_EMAIL) + process_email (a_email: NOTIFICATION_EMAIL) local l_factory: PROCESS_FACTORY args: like arguments diff --git a/draft/application/cms/src/notification/cms_mailer.e b/library/runtime/process/notification/notification_mailer.e similarity index 79% rename from draft/application/cms/src/notification/cms_mailer.e rename to library/runtime/process/notification/notification_mailer.e index fe98a701..f513648b 100644 --- a/draft/application/cms/src/notification/cms_mailer.e +++ b/library/runtime/process/notification/notification_mailer.e @@ -7,7 +7,7 @@ note revision : "$Revision$" deferred class - CMS_MAILER + NOTIFICATION_MAILER feature -- Status @@ -18,7 +18,7 @@ feature -- Status feature -- Basic operation - process_emails (lst: ITERABLE [CMS_EMAIL]) + process_emails (lst: ITERABLE [NOTIFICATION_EMAIL]) -- Process set of emails `lst' require is_available @@ -30,7 +30,7 @@ feature -- Basic operation end end - safe_process_email (a_email: CMS_EMAIL) + safe_process_email (a_email: NOTIFICATION_EMAIL) -- Same as `process_email', but include the check of `is_available' do if is_available then @@ -38,7 +38,7 @@ feature -- Basic operation end end - process_email (a_email: CMS_EMAIL) + process_email (a_email: NOTIFICATION_EMAIL) -- Process the sending of `a_email' require is_available diff --git a/draft/application/cms/src/notification/cms_sendmail_mailer.e b/library/runtime/process/notification/notification_sendmail_mailer.e similarity index 79% rename from draft/application/cms/src/notification/cms_sendmail_mailer.e rename to library/runtime/process/notification/notification_sendmail_mailer.e index 264b7e1c..5706dd6f 100644 --- a/draft/application/cms/src/notification/cms_sendmail_mailer.e +++ b/library/runtime/process/notification/notification_sendmail_mailer.e @@ -1,16 +1,16 @@ note description : "[ - CMS_MAILER using sendmail as mailtool + NOTIFICATION_MAILER using sendmail as mailtool ]" author : "$Author$" date : "$Date$" revision : "$Revision$" class - CMS_SENDMAIL_MAILER + NOTIFICATION_SENDMAIL_MAILER inherit - CMS_EXTERNAL_MAILER + NOTIFICATION_EXTERNAL_MAILER redefine default_create end From c27f57adf1deea3e3b1ed6b07dc357d7009dbc7f Mon Sep 17 00:00:00 2001 From: Olivier Ligot Date: Wed, 12 Jun 2013 13:55:14 +0200 Subject: [PATCH 02/12] Rename notification to notification_email --- draft/application/cms/cms-safe.ecf | 2 +- draft/application/cms/cms.ecf | 2 +- .../notification_chain_mailer.e | 0 .../notification_email-safe.ecf} | 4 ++-- .../{notification => notification_email}/notification_email.e | 0 .../notification_email.ecf} | 4 ++-- .../notification_external_mailer.e | 0 .../notification_mailer.e | 0 .../notification_sendmail_mailer.e | 0 9 files changed, 6 insertions(+), 6 deletions(-) rename library/runtime/process/{notification => notification_email}/notification_chain_mailer.e (100%) rename library/runtime/process/{notification/notification-safe.ecf => notification_email/notification_email-safe.ecf} (86%) rename library/runtime/process/{notification => notification_email}/notification_email.e (100%) rename library/runtime/process/{notification/notification.ecf => notification_email/notification_email.ecf} (85%) rename library/runtime/process/{notification => notification_email}/notification_external_mailer.e (100%) rename library/runtime/process/{notification => notification_email}/notification_mailer.e (100%) rename library/runtime/process/{notification => notification_email}/notification_sendmail_mailer.e (100%) diff --git a/draft/application/cms/cms-safe.ecf b/draft/application/cms/cms-safe.ecf index d8aac19c..6766f70c 100644 --- a/draft/application/cms/cms-safe.ecf +++ b/draft/application/cms/cms-safe.ecf @@ -23,7 +23,7 @@ - + diff --git a/draft/application/cms/cms.ecf b/draft/application/cms/cms.ecf index 7f9d4f4c..164e5649 100644 --- a/draft/application/cms/cms.ecf +++ b/draft/application/cms/cms.ecf @@ -24,7 +24,7 @@ - + diff --git a/library/runtime/process/notification/notification_chain_mailer.e b/library/runtime/process/notification_email/notification_chain_mailer.e similarity index 100% rename from library/runtime/process/notification/notification_chain_mailer.e rename to library/runtime/process/notification_email/notification_chain_mailer.e diff --git a/library/runtime/process/notification/notification-safe.ecf b/library/runtime/process/notification_email/notification_email-safe.ecf similarity index 86% rename from library/runtime/process/notification/notification-safe.ecf rename to library/runtime/process/notification_email/notification_email-safe.ecf index 7e254312..8bf4ed88 100644 --- a/library/runtime/process/notification/notification-safe.ecf +++ b/library/runtime/process/notification_email/notification_email-safe.ecf @@ -1,6 +1,6 @@ - - + + /.git$ diff --git a/library/runtime/process/notification/notification_email.e b/library/runtime/process/notification_email/notification_email.e similarity index 100% rename from library/runtime/process/notification/notification_email.e rename to library/runtime/process/notification_email/notification_email.e diff --git a/library/runtime/process/notification/notification.ecf b/library/runtime/process/notification_email/notification_email.ecf similarity index 85% rename from library/runtime/process/notification/notification.ecf rename to library/runtime/process/notification_email/notification_email.ecf index cf3757f1..80db0f22 100644 --- a/library/runtime/process/notification/notification.ecf +++ b/library/runtime/process/notification_email/notification_email.ecf @@ -1,6 +1,6 @@ - - + + /.git$ diff --git a/library/runtime/process/notification/notification_external_mailer.e b/library/runtime/process/notification_email/notification_external_mailer.e similarity index 100% rename from library/runtime/process/notification/notification_external_mailer.e rename to library/runtime/process/notification_email/notification_external_mailer.e diff --git a/library/runtime/process/notification/notification_mailer.e b/library/runtime/process/notification_email/notification_mailer.e similarity index 100% rename from library/runtime/process/notification/notification_mailer.e rename to library/runtime/process/notification_email/notification_mailer.e diff --git a/library/runtime/process/notification/notification_sendmail_mailer.e b/library/runtime/process/notification_email/notification_sendmail_mailer.e similarity index 100% rename from library/runtime/process/notification/notification_sendmail_mailer.e rename to library/runtime/process/notification_email/notification_sendmail_mailer.e From cc4ef1a5750597777340fa97b824628f9d607e10 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Wed, 12 Jun 2013 18:00:55 +0200 Subject: [PATCH 03/12] 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) --- .../step_4/hello/src/user_message_handler.e | 7 +- .../src/http_file_extension_mime_mapping.e | 18 +- .../wsf_router_self_documentation_message.e | 2 +- .../starts_with/wsf_starts_with_handler.e | 4 +- .../starts_with/wsf_starts_with_mapping_i.e | 2 +- .../uri_template/wsf_uri_template_mapping_i.e | 4 +- .../wsf/router/wsf_file_system_handler.e | 175 +++--- .../server/wsf/router/wsf_router_mapping.e | 4 +- .../server/wsf/session/wsf_cookie_session.e | 16 +- .../wsf/session/wsf_fs_session_manager.e | 27 +- .../shared_wsf_percent_encoder.e | 28 + .../src/implementation/wsf_percent_encoder.e | 523 ++++++++++++++++++ .../src/request/value/wsf_multiple_string.e | 2 +- .../server/wsf/src/request/value/wsf_string.e | 16 +- .../wsf/src/request/value/wsf_uploaded_file.e | 38 +- library/server/wsf/src/request/wsf_value.e | 26 +- .../wsf/src/response/wsf_download_response.e | 80 ++- .../wsf/src/response/wsf_file_response.e | 72 ++- .../service/wsf_service_launcher_options.e | 39 +- .../wsf_service_launcher_options_from_ini.e | 24 +- library/server/wsf/src/wsf_request.e | 188 ++++--- library/text/encoder/encoder-safe.ecf | 12 - library/text/encoder/encoder.ecf | 12 - ...der_helper.e => shared_utf8_url_encoder.e} | 28 +- .../src/spec/before_70/utf8_encoder_helper.e | 73 --- library/text/encoder/src/utf8_encoder.e | 35 +- library/text/encoder/src/utf8_url_encoder.e | 50 +- tools/bin/ecf_updater.exe | Bin 0 -> 2256384 bytes 28 files changed, 1056 insertions(+), 449 deletions(-) create mode 100644 library/server/wsf/src/implementation/shared_wsf_percent_encoder.e create mode 100644 library/server/wsf/src/implementation/wsf_percent_encoder.e rename library/text/encoder/src/{spec/70/utf8_encoder_helper.e => shared_utf8_url_encoder.e} (50%) delete mode 100644 library/text/encoder/src/spec/before_70/utf8_encoder_helper.e create mode 100644 tools/bin/ecf_updater.exe diff --git a/examples/tutorial/step_4/hello/src/user_message_handler.e b/examples/tutorial/step_4/hello/src/user_message_handler.e index 12a6a0e8..5e1b3f5e 100644 --- a/examples/tutorial/step_4/hello/src/user_message_handler.e +++ b/examples/tutorial/step_4/hello/src/user_message_handler.e @@ -10,6 +10,10 @@ class inherit WSF_URI_TEMPLATE_RESPONSE_HANDLER + SHARED_WSF_PERCENT_ENCODER + rename + percent_encoder as url_encoder + end feature -- Access @@ -75,7 +79,8 @@ feature -- Access url_encoded_string (s: READABLE_STRING_32): STRING_8 do - Result := (create {UTF8_URL_ENCODER}).encoded_string (s) + create Result.make (s.count) + url_encoder.append_percent_encoded_string_to (s, Result) end html_decoded_string (v: READABLE_STRING_32): READABLE_STRING_32 diff --git a/library/network/protocol/http/src/http_file_extension_mime_mapping.e b/library/network/protocol/http/src/http_file_extension_mime_mapping.e index 387e8ed4..043e0fc1 100644 --- a/library/network/protocol/http/src/http_file_extension_mime_mapping.e +++ b/library/network/protocol/http/src/http_file_extension_mime_mapping.e @@ -33,8 +33,7 @@ feature {NONE} -- Initialization -- Create with no mapping -- but one can use `map' to add new mapping do - create mapping.make (n) - mapping.compare_objects + create mapping.make_caseless (n) end make_default @@ -43,9 +42,8 @@ feature {NONE} -- Initialization local m: like mapping do - create m.make (40) + create m.make_caseless (40) mapping := m - m.compare_objects m.force (text_css, "css") m.force (text_html, "html") m.force (text_xml, "xml") @@ -74,13 +72,13 @@ feature {NONE} -- Initialization m.force (text_plain, "txt") end - make_from_file (fn: READABLE_STRING_8) + make_from_file (fn: READABLE_STRING_GENERAL) -- Create with mime.types file -- One can use `map' to add new mapping local f: RAW_FILE do - create f.make (fn) + create f.make_with_name (fn) if f.exists and then f.is_readable then make_empty (50) f.open_read @@ -128,7 +126,7 @@ feature {NONE} -- Initialization feature -- Access - mime_type (ext: READABLE_STRING_8): detachable READABLE_STRING_8 + mime_type (ext: READABLE_STRING_GENERAL): detachable READABLE_STRING_8 -- Mime type for extension `ext' do Result := mapping.item (ext.as_lower) @@ -136,7 +134,7 @@ feature -- Access feature -- Element change - map (e: READABLE_STRING_8; t: READABLE_STRING_8) + map (e: READABLE_STRING_GENERAL; t: READABLE_STRING_8) -- Add mapping extension `e' to mime type `t' do mapping.force (t, e.as_lower) @@ -220,13 +218,13 @@ feature {NONE} -- Implementation feature {NONE} -- Extension MIME mapping - mapping: HASH_TABLE [READABLE_STRING_8, READABLE_STRING_8] + mapping: STRING_TABLE [READABLE_STRING_8] invariant mapping_keys_are_lowercase: across mapping as c all c.key.same_string (c.key.as_lower) end note - copyright: "2011-2011, Eiffel Software and others" + copyright: "2011-2013, Jocelyn Fiat, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software diff --git a/library/server/wsf/router/documentation/wsf_router_self_documentation_message.e b/library/server/wsf/router/documentation/wsf_router_self_documentation_message.e index 21d4bfc4..acd21662 100644 --- a/library/server/wsf/router/documentation/wsf_router_self_documentation_message.e +++ b/library/server/wsf/router/documentation/wsf_router_self_documentation_message.e @@ -137,7 +137,7 @@ feature {WSF_RESPONSE} -- Output debug l_description.append ("

Meta Information