---[[ LuCI http protocol implementation - HTTP/1.1 bits. This class provides basic ETag handling and implements most of the conditional HTTP/1.1 headers specified in RFC2616 Sct. 14.24 - 14.28 . ]] module "luci.http.protocol.conditionals" ---[[ Implement 14.19 / ETag. @class function @name mk_etag @param stat A file.stat structure @return String containing the generated tag suitable for ETag headers ]] ---[[ 14.24 / If-Match Test whether the given message object contains an "If-Match" header and compare it against the given stat object. @class function @name if_match @param req HTTP request message object @param stat A file.stat object @return Boolean indicating whether the precondition is ok @return Alternative status code if the precondition failed ]] ---[[ 14.25 / If-Modified-Since Test whether the given message object contains an "If-Modified-Since" header and compare it against the given stat object. @class function @name if_modified_since @param req HTTP request message object @param stat A file.stat object @return Boolean indicating whether the precondition is ok @return Alternative status code if the precondition failed @return Table containing extra HTTP headers if the precondition failed ]] ---[[ 14.26 / If-None-Match Test whether the given message object contains an "If-None-Match" header and compare it against the given stat object. @class function @name if_none_match @param req HTTP request message object @param stat A file.stat object @return Boolean indicating whether the precondition is ok @return Alternative status code if the precondition failed @return Table containing extra HTTP headers if the precondition failed ]] ---[[ 14.27 / If-Range The If-Range header is currently not implemented due to the lack of general byte range stuff in luci.http.protocol . This function will always return false, 412 to indicate a failed precondition. @class function @name if_range @param req HTTP request message object @param stat A file.stat object @return Boolean indicating whether the precondition is ok @return Alternative status code if the precondition failed ]] ---[[ 14.28 / If-Unmodified-Since Test whether the given message object contains an "If-Unmodified-Since" header and compare it against the given stat object. @class function @name if_unmodified_since @param req HTTP request message object @param stat A file.stat object @return Boolean indicating whether the precondition is ok @return Alternative status code if the precondition failed ]]