From 4f62da8f903909cfa7a80d7e8a0340feca03e96e Mon Sep 17 00:00:00 2001 From: Colin Adams Date: Tue, 18 Nov 2014 10:37:36 +0000 Subject: [PATCH] Issue #144 (Add last_modified to WSF_SKELETON_HANDLER) --- library/server/wsf/policy_driven/wsf_get_helper.e | 4 ++++ .../server/wsf/policy_driven/wsf_skeleton_handler.e | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/library/server/wsf/policy_driven/wsf_get_helper.e b/library/server/wsf/policy_driven/wsf_get_helper.e index 909f52c4..96d4b144 100644 --- a/library/server/wsf/policy_driven/wsf_get_helper.e +++ b/library/server/wsf/policy_driven/wsf_get_helper.e @@ -49,6 +49,10 @@ feature {NONE} -- Implementation if attached a_handler.etag (req) as l_etag then a_header.put_header_key_value ({HTTP_HEADER_NAMES}.header_etag, l_etag) end + if attached a_handler.last_modified (req) as l_last_modified then + l_dt := (create {HTTP_DATE}.make_from_date_time (l_last_modified)).rfc1123_string + a_header.put_header_key_value ({HTTP_HEADER_NAMES}.header_last_modified, l_dt) + end res.put_header_text (a_header.string) if l_ok then if l_chunked then diff --git a/library/server/wsf/policy_driven/wsf_skeleton_handler.e b/library/server/wsf/policy_driven/wsf_skeleton_handler.e index d4b5bb79..a094cf3c 100644 --- a/library/server/wsf/policy_driven/wsf_skeleton_handler.e +++ b/library/server/wsf/policy_driven/wsf_skeleton_handler.e @@ -166,6 +166,16 @@ feature -- Access req_attached: req /= Void deferred end + + last_modified (req: WSF_REQUEST): detachable DATE_TIME + -- When representation of resource selected in `req' was last modified; + -- SHOULD be set whenever it can reasonably be determined. + note + specification: "https://tools.ietf.org/html/rfc7232#section-2.2.1" + require + req_attached: req /= Void + deferred + end modified_since (req: WSF_REQUEST; a_date_time: DATE_TIME): BOOLEAN -- Has resource requested in `req' been modified since `a_date_time' (UTC)?