Fixed Reply-To: implementation in notification mailer.

Added helper routines to query additional header, and reset Cc:, and Bcc: values.
This commit is contained in:
2016-01-08 21:46:01 +01:00
parent 166d0839b7
commit d20c377580

View File

@@ -18,7 +18,7 @@ feature {NONE} -- Initialization
-- Initialize `Current'. -- Initialize `Current'.
require require
well_formed_from_address: is_valid_address (a_from) well_formed_from_address: is_valid_address (a_from)
well_formed_to_address: a_to_address.has ('@') well_formed_to_address: is_valid_address (a_to_address)
do do
initialize initialize
from_address := a_from from_address := a_from
@@ -91,14 +91,21 @@ feature -- Change
set_from_address (add: READABLE_STRING_8) set_from_address (add: READABLE_STRING_8)
require require
well_formed_address: add.has ('@') well_formed_address: is_valid_address (add)
do do
from_address := add from_address := add
end end
set_reply_to_address (add: like reply_to_address)
require
well_formed_address: add = Void or else is_valid_address (add)
do
reply_to_address := add
end
add_cc_address (add: READABLE_STRING_8) add_cc_address (add: READABLE_STRING_8)
require require
well_formed_address: add.has ('@') well_formed_address: is_valid_address (add)
local local
lst: like cc_addresses lst: like cc_addresses
do do
@@ -112,7 +119,7 @@ feature -- Change
add_bcc_address (add: READABLE_STRING_8) add_bcc_address (add: READABLE_STRING_8)
require require
well_formed_address: add.has ('@') well_formed_address: is_valid_address (add)
local local
lst: like bcc_addresses lst: like bcc_addresses
do do
@@ -124,6 +131,20 @@ feature -- Change
lst.force (add) lst.force (add)
end end
reset_cc_addresses
-- Clear Cc: addresses.
do
cc_addresses := Void
end
reset_bcc_addresses
-- Clear Bcc: addresses.
do
bcc_addresses := Void
end
feature -- Header manipulation
add_header_line (a_line: READABLE_STRING_8) add_header_line (a_line: READABLE_STRING_8)
require require
well_formed_header_line: a_line.has (':') well_formed_header_line: a_line.has (':')
@@ -138,6 +159,21 @@ feature -- Change
lst.force (a_line) lst.force (a_line)
end 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 feature -- Reset
reset reset