Extract basic_headers/2 function

COUCHDB-2966


Project: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/commit/b32f2b6c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/tree/b32f2b6c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/diff/b32f2b6c

Branch: refs/heads/master
Commit: b32f2b6cb4df9ee82b779bf5aa097bf006eca468
Parents: 599b095
Author: ILYA Khlopotov <iil...@ca.ibm.com>
Authored: Tue Mar 8 08:32:24 2016 -0800
Committer: ILYA Khlopotov <iil...@ca.ibm.com>
Committed: Tue Mar 15 10:43:56 2016 -0700

----------------------------------------------------------------------
 src/chttpd.erl | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/b32f2b6c/src/chttpd.erl
----------------------------------------------------------------------
diff --git a/src/chttpd.erl b/src/chttpd.erl
index 56b6445..673465e 100644
--- a/src/chttpd.erl
+++ b/src/chttpd.erl
@@ -506,11 +506,8 @@ serve_file(Req, RelativePath, DocumentRoot) ->
 
 serve_file(#httpd{mochi_req=MochiReq}=Req, RelativePath, DocumentRoot,
            ExtraHeaders) ->
-    Headers = server_header() ++
-       couch_httpd_auth:cookie_auth_header(Req, []) ++
-       ExtraHeaders,
-    Headers1 = chttpd_cors:headers(Req, Headers),
-    {ok, MochiReq:serve_file(RelativePath, DocumentRoot, Headers1)}.
+    Headers = basic_headers(Req, ExtraHeaders),
+    {ok, MochiReq:serve_file(RelativePath, DocumentRoot, Headers)}.
 
 qs_value(Req, Key) ->
     qs_value(Req, Key, undefined).
@@ -660,10 +657,8 @@ 
verify_is_server_admin(#httpd{user_ctx=#user_ctx{roles=Roles}}) ->
 
 start_response_length(#httpd{mochi_req=MochiReq}=Req, Code, Headers0, Length) 
->
     couch_stats:increment_counter([couchdb, httpd_status_codes, Code]),
-    Headers1 = Headers0 ++ server_header() ++
-       couch_httpd_auth:cookie_auth_header(Req, Headers0),
-    Headers2 = chttpd_cors:headers(Req, Headers1),
-    Resp = MochiReq:start_response_length({Code, Headers2, Length}),
+    Headers1 = basic_headers(Req, Headers0),
+    Resp = MochiReq:start_response_length({Code, Headers1, Length}),
     case MochiReq:get(method) of
     'HEAD' -> throw({http_head_abort, Resp});
     _ -> ok
@@ -676,10 +671,8 @@ send(Resp, Data) ->
 
 start_chunked_response(#httpd{mochi_req=MochiReq}=Req, Code, Headers0) ->
     couch_stats:increment_counter([couchdb, httpd_status_codes, Code]),
-    Headers1 = Headers0 ++ server_header() ++
-        couch_httpd_auth:cookie_auth_header(Req, Headers0),
-    Headers2 = chttpd_cors:headers(Req, Headers1),
-    Resp = MochiReq:respond({Code, Headers2, chunked}),
+    Headers1 = basic_headers(Req, Headers0),
+    Resp = MochiReq:respond({Code, Headers1, chunked}),
     case MochiReq:get(method) of
     'HEAD' -> throw({http_head_abort, Resp});
     _ -> ok
@@ -1068,3 +1061,9 @@ stack_hash(Stack) ->
 %% dedicated chunk.
 chunked_response_buffer_size() ->
     config:get_integer("httpd", "chunked_response_buffer", 1490).
+
+basic_headers(Req, Headers0) ->
+    Headers = Headers0
+        ++ server_header()
+        ++ couch_httpd_auth:cookie_auth_header(Req, Headers0),
+    chttpd_cors:headers(Req, Headers).

Reply via email to