Bring etag_maybe/2 from original
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/commit/cf6dead8 Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/tree/cf6dead8 Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/diff/cf6dead8 Branch: refs/heads/split_out_httpd_stack Commit: cf6dead83181f6b28c04df3e1f35ba44ac4dc2e7 Parents: 7c335ff Author: ILYA Khlopotov <iil...@ca.ibm.com> Authored: Thu Feb 25 11:42:46 2016 -0800 Committer: ILYA Khlopotov <iil...@ca.ibm.com> Committed: Tue Mar 1 08:35:07 2016 -0800 ---------------------------------------------------------------------- src/couch_httpd.erl | 9 +++++++++ src/couch_httpd_original.erl | 12 ++---------- 2 files changed, 11 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/blob/cf6dead8/src/couch_httpd.erl ---------------------------------------------------------------------- diff --git a/src/couch_httpd.erl b/src/couch_httpd.erl index 3c470e2..90016f0 100644 --- a/src/couch_httpd.erl +++ b/src/couch_httpd.erl @@ -93,6 +93,7 @@ doc_etag/1, make_etag/1, etag_match/2, + etag_maybe/2, etag_respond/3 ]). @@ -460,6 +461,14 @@ etag_match(Req, CurrentEtag) -> header_value(Req, "If-None-Match", ""), ", "), lists:member(CurrentEtag, EtagsToMatch). +etag_maybe(Req, RespFun) -> + try + RespFun() + catch + throw:{etag_match, ETag} -> + send_response(Req, 304, [{"ETag", ETag}], <<>>) + end. + etag_respond(Req, CurrentEtag, RespFun) -> case etag_match(Req, CurrentEtag) of true -> http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/blob/cf6dead8/src/couch_httpd_original.erl ---------------------------------------------------------------------- diff --git a/src/couch_httpd_original.erl b/src/couch_httpd_original.erl index e8e6ffe..8195e46 100644 --- a/src/couch_httpd_original.erl +++ b/src/couch_httpd_original.erl @@ -19,7 +19,6 @@ -export([verify_is_server_admin/1,error_info/1]). -export([make_fun_spec_strs/1]). --export([etag_maybe/2]). -export([start_chunked_response/3]). -export([send_response/4,send_error/2,send_error/4, send_chunked_error/2]). @@ -69,7 +68,8 @@ etag_match/2, start_reponse/3, start_response_length/4, - send_chunk/2 + send_chunk/2, + etag_maybe/2 ]). -define(HANDLER_NAME_IN_MODULE_POS, 6). @@ -479,14 +479,6 @@ host_for_request(#httpd{mochi_req=MochiReq}) -> end. -etag_maybe(Req, RespFun) -> - try - RespFun() - catch - throw:{etag_match, ETag} -> - send_response(Req, 304, [{"ETag", ETag}], <<>>) - end. - verify_is_server_admin(#httpd{user_ctx=UserCtx}) -> verify_is_server_admin(UserCtx); verify_is_server_admin(#user_ctx{roles=Roles}) ->