Updated or added timestamp to obsolete and fixme messages.

Fixed ecf file exclusion for .svn and .git .
Cosmetic changed.
This commit is contained in:
Jocelyn Fiat
2017-05-12 14:11:22 +02:00
parent 3d146d9be9
commit fb9af26d32
159 changed files with 15255 additions and 370 deletions

View File

@@ -3,11 +3,11 @@
<target name="http_client">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option debug="false" warning="true">
<option warning="true">
</option>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="curl" location="$ISE_LIBRARY\library\cURL\cURL.ecf">

View File

@@ -3,8 +3,8 @@
<target name="libcurl_http_client">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="net_http_client">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -13,7 +13,7 @@ note
Note that any value set in this context class overrides conflicting value eventually
set in associated HTTP_CLIENT_SESSION.
Warning: for now [2012-May], you can have only one of the following data
Warning: for now [2012-05-31], you can have only one of the following data
- form_parameters
- or upload_data
- or upload_filename

View File

@@ -9,7 +9,7 @@ class
LIBCURL_UPLOAD_FILE_READ_FUNCTION
obsolete
"Use LIBCURL_CUSTOM_FUNCTION [2013-apr-04]"
"Use LIBCURL_CUSTOM_FUNCTION [2017-05-31]"
inherit
LIBCURL_DEFAULT_FUNCTION

View File

@@ -3,15 +3,15 @@
<target name="test_http_client">
<root class="TEST" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
</option>
<capability>
<concurrency support="none"/>
<concurrency support="thread"/>
</capability>
<variable name="netssl_http_client_enabled" value="false"/>
<variable name="net_http_client_disabled" value="false"/>

View File

@@ -3,8 +3,8 @@
<target name="http_network">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="conneg">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="test" uuid="7860561C-779A-4E45-A7B9-06A1E0E984E8">
<target name="test">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="test_conneg" uuid="7860561C-779A-4E45-A7B9-06A1E0E984E8">
<target name="test_conneg">
<root class="APPLICATION" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -3,8 +3,8 @@
<target name="http">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -114,14 +114,14 @@ feature -- Obsolete query
include_max_age: BOOLEAN
obsolete
"Use `max_age > 0' [April-2016]"
"Use `max_age > 0' [2017-05-31]"
do
Result := max_age > 0
end
include_expires: BOOLEAN
obsolete
"Use `expires /= Void' [April-2016]"
"Use `expires /= Void' [2017-05-31]"
do
Result := expiration /= Void
end
@@ -133,7 +133,7 @@ feature -- Obsolete element change
-- Set `expires to void'
-- Set-Cookie will include only Max-Age attribute and not Expires.
obsolete
"Uset `set_max_age' and `unset_*' features to add or remove the attributes from the response header [April-2016]"
"Uset `set_max_age' and `unset_*' features to add or remove the attributes from the response header [2017-05-31]"
do
max_age := 1
expiration := Void
@@ -147,7 +147,7 @@ feature -- Obsolete element change
-- Set `expiration to a default date'
-- Set-Cookie will include only Expires attribute and not Max_Age.
obsolete
"Use `set_expiration' and `unset_*' features to add or remove the attribute from the response header [April-2016]"
"Use `set_expiration' and `unset_*' features to add or remove the attribute from the response header [2017-05-31]"
do
max_age := -1
set_expiration_date (create {DATE_TIME}.make_now_utc)
@@ -343,7 +343,7 @@ feature {NONE} -- Constants
end
note
copyright: "2011-2016, Jocelyn Fiat, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -118,7 +118,7 @@ feature -- Access
header_named_value (a_name: READABLE_STRING_8): like item
-- First header item found for `a_name' if any
obsolete
"Use `item' [2014-03]"
"Use `item' [2017-05-31]"
do
Result := item (a_name)
end

View File

@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="tests" uuid="0582ACC2-11D8-4FE5-888D-61837BA8F43E">
<target name="tests">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="http_tests" uuid="0582ACC2-11D8-4FE5-888D-61837BA8F43E">
<target name="http_tests">
<root class="AUTOTEST" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">
<assertions precondition="true" postcondition="true" check="true"/>
</option>
<capability>
<concurrency support="none" use="none"/>
</capability>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="http" location="..\http.ecf" readonly="false">
<option>

View File

@@ -0,0 +1,6 @@
#include <windows.h>
STRINGTABLE
BEGIN
1 "This Program was made using EiffelStudio using Visual Studio C++"
END

View File

@@ -2,8 +2,8 @@
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="ws_client" uuid="AF6EDC56-D7B4-4E1F-A62B-40EBED3D93DF">
<target name="common">
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -0,0 +1,6 @@
#include <windows.h>
STRINGTABLE
BEGIN
1 "This Program was made using EiffelStudio using Visual Studio C++"
END

View File

@@ -3,8 +3,8 @@
<target name="web_socket_client">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -2,8 +2,8 @@
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="echo_websocket_server" uuid="C9B3DA5F-DF0D-4C0F-924A-130B5C1E6604">
<target name="common">
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
@@ -30,7 +30,7 @@
<target name="echo_websocket_server_mt" extends="common">
<root class="APPLICATION" feature="make_and_launch"/>
<capability>
<concurrency use="thread"/>
<concurrency support="thread" use="thread"/>
</capability>
</target>
<target name="echo_websocket_server_mt_ssl" extends="echo_websocket_server_mt">

View File

@@ -0,0 +1,60 @@
#!/usr/bin/env python
import socket, threading, time, re, hashlib, base64
magicguid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
port = 9999
def printHeaders(headers):
print "Headers received from WebSocket client"
for key in headers.keys():
print key, headers[key]
print
def doHandShake(conn, dataheaders):
headers = dict(re.findall(r"(?P<name>.*?): (?P<value>.*?)\r\n", dataheaders))
printHeaders(headers)
key = headers['Sec-WebSocket-Key']
print "key", key
key += magicguid
hashkey = hashlib.sha1()
hashkey.update(key)
key = base64.b64encode(hashkey.digest())
handshake = "HTTP/1.1 101 Switching Protocols\r\n"
handshake += "Upgrade: websocket\r\n"
handshake += "Connection: Upgrade\r\n"
handshake += "Sec-WebSocket-Accept: " + key + "\r\n"
# end of header empty line
handshake += "\r\n"
print
print handshake
conn.send(handshake)
def handle(conn):
time.sleep(1)
conn.send('\x81\x0BHello World')
time.sleep(1)
conn.send('\x81\x12How are you there?')
time.sleep(1)
conn.close()
s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('127.0.0.1', port))
print "Server listening on port", port
s.listen(1)
while 1:
try:
conn, address = s.accept()
dataheaders = conn.recv(4096)
doHandShake(conn, dataheaders)
print "WebSocket open"
threading.Thread(target=handle, args=(conn,)).start()
except KeyboardInterrupt:
print
print "Closing now"
exit(0)

View File

@@ -3,8 +3,8 @@
<target name="websocket_server">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -55,7 +55,7 @@ feature -- Access
body: like content
obsolete
"Use `content' [June/2015]"
"Use `content'. [2017-05-31]"
do
Result := body
end
@@ -69,6 +69,19 @@ feature -- Status report
across to_addresses as ic all is_valid_address (ic.item) end
end
has_header (a_header_name: READABLE_STRING_8): BOOLEAN
-- Has additional header `a_header_name'?
-- Warning: it checks only `additional_header_lines'!
local
h_colon: STRING
do
if attached additional_header_lines as lst then
create h_colon.make_from_string (a_header_name)
h_colon.append_character (':')
Result := across lst as ic some ic.item.starts_with (h_colon) end
end
end
feature -- Change
set_date (d: like date)
@@ -158,21 +171,6 @@ feature -- Header manipulation
lst.force (a_line)
end
feature -- Status report
has_header (a_header_name: READABLE_STRING_8): BOOLEAN
-- Has additional header `a_header_name'?
-- Warning: it checks only `additional_header_lines'!
local
h_colon: STRING
do
if attached additional_header_lines as lst then
create h_colon.make_from_string (a_header_name)
h_colon.append_character (':')
Result := across lst as ic some ic.item.starts_with (h_colon) end
end
end
feature -- Reset
reset
@@ -209,8 +207,6 @@ feature -- Conversion
end
header: STRING_8
local
hdate: HTTP_DATE
do
create Result.make (20)
if attached reply_to_address as l_reply_to then
@@ -259,8 +255,7 @@ feature -- Conversion
Result.append (subject)
Result.append_character ('%N')
Result.append ("Date: ")
create hdate.make_from_date_time (date)
hdate.append_to_rfc1123_string (Result)
;(create {HTTP_DATE}.make_from_date_time (date)).append_to_rfc1123_string (Result)
Result.append_character ('%N')
if attached additional_header_lines as l_lines and then
not l_lines.is_empty
@@ -285,11 +280,8 @@ feature -- Helpers
Result := add.has ('@')
end
invariant
-- invariant_clause: True
note
copyright: "2011-2015, 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

View File

@@ -3,8 +3,8 @@
<target name="notification_email">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -43,11 +43,8 @@ feature {NONE} -- Initialization
feature -- Status
is_available: BOOLEAN
local
f: RAW_FILE
do
create f.make_with_path (executable_path)
Result := f.exists
Result := (create {RAW_FILE}.make_with_path (executable_path)).exists
end
feature -- Change
@@ -108,7 +105,7 @@ feature -- Basic operation
if attached arguments as l_args then
args := l_args.twin
else
if attached {RAW_FILE} new_temporary_file (generator) as f then
if attached new_temporary_file (generator) as f then
f.create_read_write
f.put_string (a_email.message)
f.close
@@ -196,10 +193,8 @@ feature {NONE} -- Implementation
result_creatable: Result.is_creatable
end
invariant
note
copyright: "2011-2016, 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

View File

@@ -4,9 +4,8 @@ note
Note: it is based on EiffelNet {SMTP_PROTOCOL} implementation, and may not be complete.
]"
author: "$Author: jfiat $"
date: "$Date: 2015-06-30 11:07:17 +0200 (mar., 30 juin 2015) $"
revision: "$Revision: 97586 $"
date: "$Date$"
revision: "$Revision$"
class
NOTIFICATION_SMTP_MAILER
@@ -57,15 +56,12 @@ feature {NONE} -- Initialization
initialize
-- Initialize service.
local
l_address_factory: INET_ADDRESS_FACTORY
do
if attached username as u then
create smtp_protocol.make (smtp_host, u)
else
-- Get local host name needed in creation of SMTP_PROTOCOL.
create l_address_factory
create smtp_protocol.make (smtp_host, l_address_factory.create_localhost.host_name)
create smtp_protocol.make (smtp_host, (create {INET_ADDRESS_FACTORY}).create_localhost.host_name)
end
if smtp_port > 0 then
smtp_protocol.set_default_port (smtp_port)
@@ -98,9 +94,7 @@ feature -- Basic operation
local
l_email: EMAIL
h: STRING
k,v: STRING
i: INTEGER
hdate: HTTP_DATE
do
create l_email.make_with_entry (a_email.from_address, addresses_to_header_line_value (a_email.to_addresses))
if attached a_email.reply_to_address as l_reply_to then
@@ -117,8 +111,7 @@ feature -- Basic operation
l_email.add_header_entry ({EMAIL_CONSTANTS}.H_subject, a_email.subject)
create h.make_empty
create hdate.make_from_date_time (a_email.date)
hdate.append_to_rfc1123_string (h)
;(create {HTTP_DATE}.make_from_date_time (a_email.date)).append_to_rfc1123_string (h)
l_email.add_header_entry ("Date", h)
if attached a_email.additional_header_lines as lst then
@@ -128,9 +121,7 @@ feature -- Basic operation
h := ic.item
i := h.index_of (':', 1)
if i > 0 then
k := h.head (i - 1)
v := h.substring (i + 1, h.count)
l_email.add_header_entry (k, v)
l_email.add_header_entry (h.head (i - 1), h.substring (i + 1, h.count))
else
check is_header_line: False end
end
@@ -181,7 +172,7 @@ feature {NONE} -- Implementation
end
note
copyright: "2011-2015, 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

View File

@@ -1,7 +1,7 @@
note
description: "Store emails in specific folder."
date: "$Date: 2017-03-08 10:34:57 +0100 (mer., 08 mars 2017) $"
revision: "$Revision: 99935 $"
date: "$Date$"
revision: "$Revision$"
class
NOTIFICATION_EMAIL_DIRECTORY_STORAGE
@@ -41,7 +41,7 @@ feature -- Storage
-- Store `a_email'.
local
retried: BOOLEAN
f,w: RAW_FILE
w: RAW_FILE
dt: DATE_TIME
p: PATH
fn: STRING
@@ -72,8 +72,7 @@ feature -- Storage
p := p.extended (fn)
from
create f.make_with_path (p)
w := new_file_opened_for_writing (f)
w := new_file_opened_for_writing (create {RAW_FILE}.make_with_path (p))
until
w /= Void or i > 100
loop
@@ -113,14 +112,15 @@ feature -- Storage
local
retried: BOOLEAN
do
if not retried then
if not f.exists then
f.open_write
if f.is_open_write then
Result := f
elseif not f.is_closed then
f.close
end
if
not retried and then
not f.exists
then
f.open_write
if f.is_open_write then
Result := f
elseif not f.is_closed then
f.close
end
end
ensure

View File

@@ -3,7 +3,7 @@
<target name="demo">
<root class="APPLICATION" feature="make_and_launch"/>
<file_rule>
<exclude>/.svn$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -3,8 +3,8 @@
<target name="openid">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="tests" uuid="A36A6621-CF4A-4FB6-8CB2-D420D630A134">
<target name="tests">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="openid_consumer_tests" uuid="A36A6621-CF4A-4FB6-8CB2-D420D630A134">
<target name="openid_consumer_tests">
<root class="APPLICATION" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,7 +3,7 @@
<target name="basic">
<root class="DEMO_BASIC" feature="make_and_launch"/>
<file_rule>
<exclude>/.svn$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/CVS$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>

View File

@@ -3,8 +3,8 @@
<target name="http_authorization">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="testing" uuid="1AEF36BD-FB72-4B52-8845-4EF4AC7B709A">
<target name="testing">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="http_auth_testing" uuid="1AEF36BD-FB72-4B52-8845-4EF4AC7B709A">
<target name="http_auth_testing">
<root class="ANY" feature="default_create"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -2,8 +2,8 @@ note
description: "[
Standalone Web Server connector.
]"
date: "$Date: 2016-08-06 13:34:52 +0200 (sam., 06 août 2016) $"
revision: "$Revision: 99106 $"
date: "$Date$"
revision: "$Revision$"
class
WGI_STANDALONE_CONNECTOR [G -> WGI_EXECUTION create make end]
@@ -110,7 +110,7 @@ feature -- Callbacks
on_launched_actions: ACTION_SEQUENCE [TUPLE [WGI_STANDALONE_CONNECTOR [WGI_EXECUTION]]]
-- Actions triggered when launched.
-- WARNING: only supported for now with SCOOP concurrency mode. [2016-oct-07]
-- WARNING: only supported for now with SCOOP concurrency mode. [2016-10-07]
feature -- Event
@@ -201,7 +201,7 @@ feature -- Server
-- Shutdown web server listening.
do
if launched then
-- FIXME jfiat [2015/03/27] : prevent multiple calls (otherwise it hangs)
-- FIXME: prevent multiple calls (otherwise it hangs) [2015-03-27]
separate_shutdown_server_on_controller (controller)
end
end
@@ -213,7 +213,7 @@ feature -- Events
require
obs.started -- SCOOP wait condition.
do
-- FIXME: this works only with SCOOP concurrency mode. [2016-oct-07]
-- FIXME: this works only with SCOOP concurrency mode. [2016-10-07]
if obs.port > 0 then
on_launched (obs.port)
end
@@ -282,9 +282,8 @@ feature {NONE} -- Implementation: element change
cfg.set_is_secure (b)
end
note
copyright: "2011-2016, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="test_connector_standalone" uuid="BA1C9760-8ECD-4182-8354-5D880F2FC81B" library_target="test_connector_standalone">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="test_connector_standalone" uuid="BA1C9760-8ECD-4182-8354-5D880F2FC81B">
<target name="test_standalone_scoop">
<root class="TEST_STANDALONE_CONNECTOR" feature="make"/>
<option debug="true">

View File

@@ -54,7 +54,7 @@ feature -- Access
force_single_threaded: BOOLEAN assign set_force_single_threaded
obsolete
"Use directly `max_concurrent_connections = 1` [Feb/2017]"
"Use directly `max_concurrent_connections = 1` [2017-05-31]"
do
Result := max_concurrent_connections <= 1
end
@@ -202,7 +202,7 @@ feature -- Element change
-- Force server to handle incoming request in a single thread.
-- i.e set max_concurrent_connections to 1!
obsolete
"Use set_max_concurrent_connections (1) [June/2016]"
"Use set_max_concurrent_connections (1) [2017-05-31]"
do
if v then
set_max_concurrent_connections (1)
@@ -210,8 +210,8 @@ feature -- Element change
set_max_concurrent_connections (default_max_concurrent_connections)
end
ensure
force_single_threaded_set: v implies max_concurrent_connections <= 1
not_single_threaded: not v implies max_concurrent_connections > 1
force_single_threaded_set: v implies max_concurrent_connections <= 1
not_single_threaded: not v implies max_concurrent_connections > 1
end
set_is_verbose (b: BOOLEAN)
@@ -340,7 +340,7 @@ feature -- SSL Helpers
end
note
copyright: "2011-2016, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -3,8 +3,8 @@
<target name="httpd">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="eiffelweb" uuid="6A03BC65-BD03-4B68-B51E-2543F9471D42">
<target name="eiffelweb">
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="test_libfcgi" uuid="6A03BC65-BD03-4B68-B51E-2543F9471D42">
<target name="test_libfcgi">
<root cluster="application" class="APPLICATION_ROOT" feature="make"/>
<file_rule>
<exclude>/EIFGENs$</exclude>

View File

@@ -60,6 +60,7 @@ feature -- Execution
req: WGI_REQUEST_FROM_TABLE
res: detachable WGI_RESPONSE_STREAM
rescued: BOOLEAN
utf: UTF_CONVERTER
do
if not rescued then
a_input.reset
@@ -68,14 +69,14 @@ feature -- Execution
service.execute (req, res)
res.push
else
if attached (create {EXCEPTION_MANAGER}).last_exception as e and then attached e.exception_trace as l_trace then
if attached (create {EXCEPTION_MANAGER}).last_exception as e and then attached e.trace as l_trace then
if res /= Void then
if not res.status_is_set then
res.set_status_code ({HTTP_STATUS_CODE}.internal_server_error, Void)
end
if res.message_writable then
res.put_string ("<pre>")
res.put_string (l_trace)
res.put_string (utf.string_32_to_utf_8_string_8 (l_trace))
res.put_string ("</pre>")
end
res.push
@@ -105,7 +106,7 @@ invariant
fcgi_attached: fcgi /= Void
note
copyright: "2011-2013, Eiffel Software and others"
copyright: "2011-2017, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -10,7 +10,7 @@
<option warning="true">
</option>
<capability>
<concurrency support="thread" use="thread"/>
<concurrency support="none"/>
</capability>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="encoder" location="..\..\..\..\..\..\text\encoder\encoder.ecf"/>

View File

@@ -10,7 +10,7 @@
<option warning="true">
</option>
<capability>
<concurrency support="thread" use="thread"/>
<concurrency support="none"/>
</capability>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="connector_nino" location="..\..\..\..\obsolete\v0\ewsgi\connectors\nino\nino.ecf"/>

View File

@@ -10,7 +10,7 @@
<option warning="true">
</option>
<capability>
<concurrency support="thread" use="thread"/>
<concurrency support="none"/>
</capability>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<library name="wsf" location="..\wsf.ecf"/>

View File

@@ -3,8 +3,8 @@
<target name="wsf_v0">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_extension_v0">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_policy_driven_v0">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_router_context_v0">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_session">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_html_v0">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -122,7 +122,7 @@ feature {NONE} -- Initialization
then
secure_settings := [l_secure_prot, opts.option_string_32_value ("secure_certificate", Void), opts.option_string_32_value ("secure_certificate_key", Void)]
elseif
-- OBSOLETE: backward compatible with old settings name [oct/2016].
-- OBSOLETE: backward compatible with old settings name [2017-05-31].
opts.option_boolean_value ("ssl_enabled", is_secure) and then
attached opts.option_string_32_value ("ssl_protocol", "tls_1_2") as ssl_prot
then
@@ -141,7 +141,7 @@ feature {NONE} -- Initialization
force_single_threaded
-- Set `single_threaded' to True.
obsolete
"Use set_max_concurrent_connections (1) [Feb/2017]"
"Use set_max_concurrent_connections (1) [2017-05-31]"
do
set_max_concurrent_connections (1)
ensure
@@ -238,7 +238,7 @@ feature {NONE} -- Implementation
single_threaded: BOOLEAN
obsolete
"Use max_concurrent_connections <= 1 [Feb/2017]"
"Use max_concurrent_connections <= 1 [2017-05-31]"
do
Result := max_concurrent_connections <= 1
end
@@ -277,7 +277,7 @@ feature -- Status report
end
;note
copyright: "2011-2016, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -20,7 +20,7 @@ feature -- Mapping helper: uri
map_uri_with_request_methods (a_uri: READABLE_STRING_8; h: WSF_URI_HANDLER; rqst_methods: detachable WSF_REQUEST_METHODS)
-- Map `h' as handler for `a_uri' for request methods `rqst_methods'.
obsolete
"Use directly `map_uri' [June/2015]"
"Use directly `map_uri' [2017-05-31]"
do
map_uri (a_uri, h, rqst_methods)
end
@@ -44,7 +44,7 @@ feature -- Mapping helper: uri agent
map_uri_agent_with_request_methods (a_uri: READABLE_STRING_8; proc: PROCEDURE [TUPLE [req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS)
-- Map `proc' as handler for `a_uri' for request methods `rqst_methods'.
obsolete
"Use directly `map_uri_agent' [June/2015]"
"Use directly `map_uri_agent' [2017-05-31]"
do
map_uri_agent (a_uri, proc, rqst_methods)
end
@@ -58,7 +58,7 @@ feature -- Mapping helper: uri agent
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -23,7 +23,7 @@ feature -- Mapping helper: uri template
map_uri_template_with_request_methods (a_tpl: READABLE_STRING_8; h: WSF_URI_TEMPLATE_HANDLER; rqst_methods: detachable WSF_REQUEST_METHODS)
-- Map `h' as handler for `a_tpl' for request methods `rqst_methods'.
obsolete
"Use directly `map_uri_template' [June/2015]"
"Use directly `map_uri_template' [2017-05-31]"
require
a_tpl_attached: a_tpl /= Void
h_attached: h /= Void
@@ -54,7 +54,7 @@ feature -- Mapping helper: uri template agent
map_uri_template_agent_with_request_methods (a_tpl: READABLE_STRING_8; proc: PROCEDURE [TUPLE [req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS)
-- Map `proc' as handler for `a_tpl' for request methods `rqst_methods'.
obsolete
"Use directly `map_uri_template_agent' [June/2015]"
"Use directly `map_uri_template_agent' [2017-05-31]"
require
a_tpl_attached: a_tpl /= Void
proc_attached: proc /= Void
@@ -72,7 +72,7 @@ feature -- Mapping helper: uri template agent
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -77,7 +77,7 @@ feature -- Mapping
map_with_request_methods (a_mapping: WSF_ROUTER_MAPPING; rqst_methods: detachable WSF_REQUEST_METHODS)
-- Map `a_mapping' for request methods `rqst_methods'.
obsolete
"Use directly `map' [June/2015]"
"Use directly `map' [2017-05-31]"
require
a_mapping_attached: a_mapping /= Void
do
@@ -135,7 +135,7 @@ feature -- Mapping handler
-- Map the mapping created by factory `f' for resource `a_resource'
-- and only for request methods `rqst_methods'
obsolete
"Use directly `handle' [June/2015]"
"Use directly `handle' [2017-05-31]"
require
a_resource_attached: a_resource /= Void
f_attached: f /= Void
@@ -166,7 +166,7 @@ feature -- Basic operations
-- And return the associated handler if mapping found and handler executed.
--| Violates CQS
obsolete
"Use `dispatch' [2013-mar-21]"
"Use `dispatch' [2017-05-31]"
require
req_attached: req /= Void
res_attached: res /= Void
@@ -601,7 +601,7 @@ invariant
pre_execution_actions_attached: pre_execution_actions /= Void
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -24,7 +24,7 @@ feature -- Mapping helper: starts_with
map_starts_with_request_methods (a_uri: READABLE_STRING_8; h: WSF_STARTS_WITH_CONTEXT_HANDLER [C]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `map_starts_with' [June-2015]"
"Use directly `map_starts_with' [2017-05-31]"
require
a_uri_attached: a_uri /= Void
h_attached: h /= Void
@@ -44,7 +44,7 @@ feature -- Mapping helper: starts_with agent
map_starts_with_agent_with_request_methods (a_uri: READABLE_STRING_8; proc: PROCEDURE [TUPLE [start_path: READABLE_STRING_8; ctx: C; req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `map_starts_with_agent' [June-2015]"
"Use directly `map_starts_with_agent' [2017-05-31]"
require
a_uri_attached: a_uri /= Void
proc_attached: proc /= Void
@@ -53,7 +53,7 @@ feature -- Mapping helper: starts_with agent
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -24,7 +24,7 @@ feature -- Mapping helper: uri
map_uri_with_request_methods (a_uri: READABLE_STRING_8; h: WSF_URI_CONTEXT_HANDLER [C]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `map_uri' [June-2015]"
"Use directly `map_uri' [2017-05-31]"
require
a_uri_attached: a_uri /= Void
h_attached: h /= Void
@@ -44,7 +44,7 @@ feature -- Mapping helper: uri agent
map_uri_agent_with_request_methods (a_uri: READABLE_STRING_8; proc: PROCEDURE [TUPLE [ctx: C; req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `map_uri_agent' [June-2015]"
"Use directly `map_uri_agent' [2017-05-31]"
require
a_uri_attached: a_uri /= Void
proc_attached: proc /= Void
@@ -53,7 +53,7 @@ feature -- Mapping helper: uri agent
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -24,7 +24,7 @@ feature -- Mapping helper: uri
map_uri_template_with_request_methods (a_tpl: READABLE_STRING_8; h: WSF_URI_TEMPLATE_CONTEXT_HANDLER [C]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `make_uri_template' [June/2015]"
"Use directly `make_uri_template' [2017-05-31]"
require
a_tpl_attached: a_tpl /= Void
h_attached: h /= Void
@@ -44,7 +44,7 @@ feature -- Mapping helper: uri agent
map_uri_template_agent_with_request_methods (a_tpl: READABLE_STRING_8; proc: PROCEDURE [TUPLE [ctx: C; req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS)
obsolete
"Use directly `make_uri_template_agent' [June/2015]"
"Use directly `make_uri_template_agent' [2017-05-31]"
require
a_tpl_attached: a_tpl /= Void
proc_attached: proc /= Void
@@ -53,7 +53,7 @@ feature -- Mapping helper: uri agent
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -16,7 +16,7 @@ feature -- Access
uuid: READABLE_STRING_8
obsolete
"Use `id' which is more general [2014-03]"
"Use `id' which is more general [2017-05-31]"
deferred
end
@@ -116,7 +116,7 @@ feature -- Control
end
note
copyright: "2011-2014, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -69,7 +69,7 @@ feature -- Access
frozen string_values: like values
obsolete
"Use `values' [2012-May-31]"
"Use `values' [2017-05-31]"
do
Result := values
end
@@ -81,7 +81,7 @@ feature -- Access
frozen first_string_value: WSF_STRING
obsolete
"Use `first_value' [2012-May-31]"
"Use `first_value' [2017-05-31]"
do
Result := first_value
end
@@ -179,7 +179,7 @@ invariant
string_values_not_empty: values.count >= 1
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -2,8 +2,8 @@ note
description: "[
Table which can contain value indexed by a key
]"
date: "$Date: 2015-11-05 21:52:56 +0100 (jeu., 05 nov. 2015) $"
revision: "$Revision: 98081 $"
date: "$Date$"
revision: "$Revision$"
class
WSF_TABLE
@@ -86,7 +86,7 @@ feature -- Access
frozen first_key: like first_name
obsolete
"Use first_name [2012-May-31]"
"Use first_name [2017-05-31]"
do
Result := first_name
end

View File

@@ -94,7 +94,7 @@ feature -- Access
file_name: READABLE_STRING_8
obsolete
"Use `file_path.name' for unicode support [2013-may]"
"Use `file_path.name' for unicode support [2017-05-31]"
do
Result := file_path.utf_8_name
end
@@ -230,7 +230,7 @@ invariant
status_code_set: status_code /= 0
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

View File

@@ -165,7 +165,7 @@ feature -- Access
file_name: READABLE_STRING_8
obsolete
"Use `file_path.name' for unicode support [2013-may]"
"Use `file_path.name' for unicode support [2017-05-31]"
do
Result := file_path.utf_8_name
end
@@ -320,7 +320,7 @@ feature {NONE} -- Implementation: output
end
note
copyright: "2011-2016, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
copyright: "2011-2017, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software

View File

@@ -3,8 +3,8 @@
<target name="echo_server">
<root class="ECHO_SERVER" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="server">
<root class="TEST" feature="make"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option debug="false" warning="true">

View File

@@ -0,0 +1,6 @@
#include <windows.h>
STRINGTABLE
BEGIN
1 "This Program was made using EiffelStudio using Visual Studio C++"
END

View File

@@ -3,8 +3,8 @@
<target name="wsf">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_extension">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_policy_driven">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_router_context">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="wsf_session">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -184,7 +184,7 @@ feature -- Change
end
extend_text (t: READABLE_STRING_8)
obsolete "Use extend_html_text (..) 2013-Sept-06"
obsolete "Use extend_html_text (..) [2017-05-31]"
do
extend_html_text (t)
end

View File

@@ -3,8 +3,8 @@
<target name="wsf_html">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -111,9 +111,9 @@ feature -- Execution
i := l_raw_header.substring_index ("%R%N", 1)
if i > 0 then
-- Skip the first status line.
create h.make_from_raw_header_data (l_raw_header.substring (i + 2, l_raw_header.count))
create h.make_from_raw_header_data (l_raw_header.substring (i + 2, l_raw_header.count).as_string_8_conversion) -- NOTE: it is string 8 per nature.
else
create h.make_from_raw_header_data (l_raw_header)
create h.make_from_raw_header_data (l_raw_header.as_string_8_conversion)
end
if attached l_remote_uri.host as l_remote_host then
if l_remote_uri.port > 0 then

View File

@@ -3,8 +3,8 @@
<target name="encoder">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="encoder_tests">
<root class="TEST_BASE64" feature="default_create"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -50,7 +50,7 @@ feature -- Access
create Result.make (l_title)
Result.set_description (xml_element_text (x_feed, "subtitle"), "plain")
Result.set_id (xml_element_text (x_feed, "id"))
Result.set_updated_date_with_text (xml_element_text (x_feed, "updated"))
Result.set_date_with_text (xml_element_text (x_feed, "updated"))
if attached links_from_xml (x_feed, "link") as l_links then
across
l_links as link_ic
@@ -68,7 +68,7 @@ feature -- Access
create e.make (e_title)
e.set_description (xml_element_text (x_entry, "summary"))
e.set_id (xml_element_text (x_entry, "id"))
e.set_updated_date_with_text (xml_element_text (x_entry, "updated"))
e.set_date_with_text (xml_element_text (x_entry, "updated"))
if attached links_from_xml (x_entry, "link") as l_links then
across

View File

@@ -14,7 +14,7 @@ inherit
create
make
feature {NONE} -- Initialization
feature {NONE} -- Initialization
make (a_title: READABLE_STRING_GENERAL)
do
@@ -55,7 +55,7 @@ feature -- Access
Result := items.new_cursor
end
feature -- Element change
feature -- Element change
set_description (a_description: detachable READABLE_STRING_GENERAL; a_description_content_type: like description_content_type)
-- Set `description' with `a_description' and optional content type `text:$a_description_content_type'.
@@ -80,8 +80,8 @@ feature -- Element change
set_updated_date_with_text (a_date_text: detachable READABLE_STRING_32)
-- Set `date' from date string representation `a_date_text'.
obsolete
"Use set_date_with_text [oct/2015]"
obsolete
"Use set_date_with_text [2017-05-31]"
do
set_date_with_text (a_date_text)
end
@@ -112,7 +112,7 @@ feature -- Element change
-- Remove feed item `a_item' from Current list of feed items.
do
items.prune (a_item)
end
end
extended alias "+" (a_feed: FEED): FEED
-- New feed object made from Current merged with a_feed.

View File

@@ -22,7 +22,7 @@ inherit
create
make
feature {NONE} -- Initialization
feature {NONE} -- Initialization
make (a_title: READABLE_STRING_GENERAL)
do
@@ -157,8 +157,8 @@ feature -- Element change
set_updated_date_with_text (a_date_text: detachable READABLE_STRING_32)
-- Set `date' from date string representation `a_date_text'.
obsolete
"Use set_date_with_text [oct/2015]"
obsolete
"Use set_date_with_text [2017-05-31]"
do
set_date_with_text (a_date_text)
end

View File

@@ -52,7 +52,7 @@ feature -- Access
if attached xml_element_text (x_channel, "title") as x_title then
create Result.make (x_title)
Result.set_description (xml_element_text (x_channel, "description"), "xhtml")
Result.set_updated_date_with_text (xml_element_text (x_channel, "lastBuildDate"))
Result.set_date_with_text (xml_element_text (x_channel, "lastBuildDate"))
if attached links_from_xml (x_channel, "link") as l_links then
across
l_links as link_ic
@@ -69,7 +69,7 @@ feature -- Access
if attached xml_element_text (x_item, "title") as e_title then
create e.make (e_title)
e.set_description (xml_element_text (x_item, "description"))
e.set_updated_date_with_text (xml_element_text (x_item, "pubDate"))
e.set_date_with_text (xml_element_text (x_item, "pubDate"))
e.set_id (xml_element_text (x_item, "guid"))

View File

@@ -130,7 +130,7 @@ feature -- Visitor
s.append_string_general ("@")
s.append_string (a_link.relation)
s.append_string (" -> ")
s.append_string (a_link.href)
s.append_string_general (a_link.href)
append_text (s)
end

View File

@@ -3,8 +3,8 @@
<target name="tests">
<root class="TEST_URI_TEMPLATE" feature="default_create"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -3,8 +3,8 @@
<target name="error">
<root all_classes="true"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">

View File

@@ -0,0 +1,528 @@
note
description : "[
Error handler or receiver.
]"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2015-10-10 00:55:41 +0200 (sam., 10 oct. 2015) $"
revision: "$Revision: 97980 $"
class
ERROR_HANDLER
inherit
ANY
DEBUG_OUTPUT
create
make,
make_with_id
feature {NONE} -- Initialization
make
-- Initialize `Current'.
do
create {ARRAYED_LIST [ERROR]} errors.make (3)
create error_added_actions
end
make_with_id (a_id: READABLE_STRING_8)
-- Build `Current' with optional id `a_id'.
do
make
if a_id = Void then
id := Void
else
create id.make_from_string (a_id)
end
end
feature -- Access
id: detachable IMMUTABLE_STRING_8
-- Optional identifier for Current handler.
primary_error_code: INTEGER
-- Code of first error in `errors'
require
at_least_one_error: has_error
do
Result := errors.first.code
end
feature -- Status
has_error: BOOLEAN
-- Has error?
do
Result := count > 0
end
count: INTEGER
-- Number of error
do
Result := errors.count
end
is_synchronizing_with (other: ERROR_HANDLER): BOOLEAN
-- Is Current synchronizing with `other'?
-- i.e 2 way propagation.
do
Result := is_propagating_to (other) and other.is_propagating_to (Current)
end
is_propagating_to (other: ERROR_HANDLER): BOOLEAN
-- Is Current propagating error to `other'?
do
Result := attached propagations as lst and then lst.has (other)
end
feature {ERROR_HANDLER, ERROR_VISITOR} -- Restricted access
errors: LIST [ERROR]
-- Errors container
feature -- Status report
debug_output: STRING
-- String that should be displayed in debugger to represent `Current'.
do
if has_error then
Result := count.out + " errors"
else
Result := "no error"
end
if attached id as l_id then
Result.prepend ("[" + l_id + "] ")
end
if attached propagations as lst then
check not_empty: not lst.is_empty end
Result.append_character ('(')
Result.append (" -> ")
Result.append_integer (lst.count)
Result.append_character (':')
across
lst as ic
loop
if attached ic.item.id as l_id then
Result.append_character (' ')
Result.append (l_id)
end
end
Result.append_character (')')
end
end
feature -- Events
error_added_actions: ACTION_SEQUENCE [TUPLE [ERROR]]
-- Actions triggered when a new error is added
feature -- Synchronization
add_synchronization (h: ERROR_HANDLER)
-- Add synchronization between `h' and `Current'
--| the same handler can be added more than once
--| it will be synchronized only once
do
add_propagation (h)
h.add_propagation (Current)
end
remove_synchronization (h: ERROR_HANDLER)
-- Remove synchronization between `h' and `Current'
do
remove_propagation (h)
h.remove_propagation (Current)
end
feature -- One way synchronization: propagation
add_propagation (h: ERROR_HANDLER)
-- Add propagation from `Current' to `h'.
--| the same handler can be added more than once
--| it will be synchronized only once
local
lst: like propagations
do
h.register_propagator (Current)
lst := propagations
if lst = Void then
create {ARRAYED_LIST [ERROR_HANDLER]} lst.make (0)
lst.compare_references
propagations := lst
end
if not lst.has (h) then
lst.extend (h)
end
end
remove_propagation (h: ERROR_HANDLER)
-- Remove propagation from `Current' to `h'.
do
if attached propagations as lst and then not lst.is_empty then
lst.prune_all (h)
if lst.is_empty then
propagations := Void
end
end
h.unregister_propagator (Current)
end
feature {ERROR_HANDLER} -- Synchronization implementation
is_associated_with (h: ERROR_HANDLER): BOOLEAN
do
if attached propagators as lst then
Result := lst.has (h)
end
end
register_propagator (h: ERROR_HANDLER)
local
lst: like propagators
do
lst := propagators
if lst = Void then
create {ARRAYED_LIST [ERROR_HANDLER]} lst.make (1)
propagators := lst
end
if not lst.has (h) then
lst.extend (h)
end
end
unregister_propagator (h: ERROR_HANDLER)
local
lst: like propagators
do
lst := propagators
if lst /= Void then
lst.prune_all (h)
if lst.is_empty then
propagators := Void
end
end
end
propagators: detachable LIST [ERROR_HANDLER]
-- Handlers propagating to Current.
-- Needed for `reset'.
propagations: detachable LIST [ERROR_HANDLER]
-- Handlers receiving the propagation.
synchronize_error_from (e: ERROR; h_lst: LIST [ERROR_HANDLER])
-- Called by error_handler during synchronization process.
-- To prevent infinite cycle, if Currently synchronizing, the `synchronized_handlers' is Void.
require
not h_lst.has (Current)
local
lst: like propagations
do
h_lst.extend (Current)
lst := propagations
propagations := Void
add_error (e)
if lst /= Void then
across
lst as c
loop
if not h_lst.has (c.item) then
c.item.synchronize_error_from (e, h_lst)
end
end
propagations := lst
else
-- In synchronization
end
end
synchronize_errors_removal_from (errs: ITERABLE [ERROR]; h_lst: LIST [ERROR_HANDLER])
-- Called by error_handler during synchronization process.
-- To prevent infinite cycle, if Currently synchronizing, the `synchronized_handlers' is Void.
require
not h_lst.has (Current)
local
lst: like propagations
do
h_lst.extend (Current)
lst := propagations
propagations := Void
across
errs as ic
loop
-- Question: should we use remove_error (ic.item) ?
errors.prune_all (ic.item)
end
if lst /= Void then
across
lst as c
loop
if not h_lst.has (c.item) then
c.item.synchronize_errors_removal_from (errs, h_lst)
end
end
propagations := lst
else
-- In synchronization
end
end
synchronize_reset_from (h_lst: LIST [ERROR_HANDLER])
-- Called by error_handler during synchronization process.
-- To prevent infinite cycle, if Currently synchronizing, the `synchronized_handlers' is Void.
require
not h_lst.has (Current)
local
lst: like propagations
do
h_lst.extend (Current)
lst := propagations
propagations := Void
reset
if lst /= Void then
across
lst as c
loop
if not h_lst.has (c.item) then
-- Reset c.item, even if this is not a two way synchronization!
c.item.synchronize_reset_from (h_lst)
end
end
propagations := lst
else
-- In synchronization
end
end
feature {NONE} -- Event: implementation
on_error_added (e: ERROR)
-- Error `e' was just added.
local
sync_list: ARRAYED_LIST [ERROR_HANDLER]
do
error_added_actions.call ([e])
if attached propagations as lst then
propagations := Void
create sync_list.make (1 + lst.count)
sync_list.extend (Current)
across
lst as c
loop
if not sync_list.has (c.item) then
c.item.synchronize_error_from (e, sync_list)
end
end
propagations := lst
end
end
on_errors_removed (errs: ITERABLE [ERROR])
-- Errors `errs' were just removed.
local
sync_list: ARRAYED_LIST [ERROR_HANDLER]
lst: like propagations
do
lst := propagations
if lst /= Void then
propagations := Void
create sync_list.make (1 + lst.count)
sync_list.extend (Current)
across
lst as c
loop
if not sync_list.has (c.item) then
c.item.synchronize_errors_removal_from (errs, sync_list)
end
end
propagations := lst
end
end
on_reset
-- `reset' was just called
local
sync_list: detachable ARRAYED_LIST [ERROR_HANDLER]
lst: detachable LIST [ERROR_HANDLER]
do
lst := propagators
if lst /= Void then
create sync_list.make (1 + lst.count)
sync_list.extend (Current)
propagators := Void
across
lst as c
loop
if not sync_list.has (c.item) then
c.item.synchronize_reset_from (sync_list)
end
end
propagators := lst
end
-- lst := propagations
-- propagations := Void
-- if lst /= Void then
-- if sync_list = Void then
-- create sync_list.make (1 + lst.count)
-- sync_list.extend (Current)
-- end
-- across
-- lst as c
-- loop
-- if not sync_list.has (c.item) then
-- c.item.synchronize_reset_from (sync_list)
-- end
-- end
-- propagations := lst
-- end
end
feature -- Basic operation
add_error (a_error: ERROR)
-- Add `a_error' to the stack of error
do
errors.force (a_error)
on_error_added (a_error)
end
remove_error (a_error: ERROR)
-- Remove `a_error' from the stack of error.
-- And also propagate error removal.
do
if propagations /= Void then
on_errors_removed (<<a_error>>)
end
errors.prune_all (a_error)
end
add_error_details, add_custom_error (a_code: INTEGER; a_name: STRING; a_message: detachable READABLE_STRING_GENERAL)
-- Add custom error to the stack of error
local
e: ERROR_CUSTOM
do
create e.make (a_code, a_name, a_message)
add_error (e)
end
append (other: ERROR_HANDLER)
-- Append errors from `a_err_handler'
local
other_errs: LIST [ERROR]
do
other_errs := other.errors
if other_errs.count > 0 then
from
other_errs.start
until
other_errs.after
loop
add_error (other_errs.item)
other_errs.forth
end
end
ensure
other_error_appended: other.has_error implies has_error
new_count: count = old count + other.count
end
feature -- Access
as_single_error: detachable ERROR
-- All error(s) concatenated into one single error.
do
if count > 1 then
create {ERROR_GROUP} Result.make (errors)
elseif count > 0 then
Result := errors.first
end
ensure
has_error_implies_result_attached: has_error implies Result /= Void
end
as_string_representation: STRING_32
-- String representation of all error(s).
require
has_error
do
if attached as_single_error as e then
Result := e.string_representation
else
check has_error: False end
Result := {STRING_32} "Error occured"
end
end
feature -- Element changes
concatenate
-- Concatenate into a single error if any
do
if count > 1 and then attached as_single_error as e then
reset
add_error (e)
end
end
reset
-- Reset Current error handler.
-- And also reset recursively error handlers propagating to Current (i.e the propagators).
do
errors.wipe_out
on_reset
ensure
has_no_error: not has_error
count = 0
end
remove_all_errors
-- Remove all errors.
do
if errors.count > 0 then
on_errors_removed (errors)
errors.wipe_out
end
ensure
has_no_error: not has_error
count = 0
end
destroy
-- Destroy Current, and remove any propagations (in the two directions).
do
error_added_actions.wipe_out
if attached propagations as lst then
propagations := Void
across
lst as c
loop
c.item.remove_synchronization (Current)
end
end
reset
end
invariant
propagations_not_empty: attached propagations as lst implies not lst.is_empty
propagators_not_empty: attached propagators as lst implies not lst.is_empty
note
copyright: "2011-2016, Jocelyn Fiat, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
5949 Hollister Ave., Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end

View File

@@ -3,8 +3,8 @@
<target name="error_tests">
<root class="TEST_ERROR" feature="default_create"/>
<file_rule>
<exclude>/.git$</exclude>
<exclude>/.svn$</exclude>
<exclude>/\.git$</exclude>
<exclude>/\.svn$</exclude>
<exclude>/EIFGENs$</exclude>
</file_rule>
<option warning="true">