You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ja...@apache.org on 2012/11/08 23:44:11 UTC

[10/15] git commit: Simplify code:

Simplify code:

 - turn two more instances of split_list/1 into a function call
 - add split_header/1 to make code more readable in a tricky section


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

Branch: refs/heads/431-feature_cors
Commit: eccc28b3b2e9b2c505e032412fe3f0374783a92c
Parents: 31b58e5
Author: Jan Lehnardt <ja...@apache.org>
Authored: Thu Nov 8 22:14:11 2012 +0100
Committer: Jan Lehnardt <ja...@apache.org>
Committed: Thu Nov 8 23:37:33 2012 +0100

----------------------------------------------------------------------
 src/couchdb/couch_httpd_cors.erl |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/eccc28b3/src/couchdb/couch_httpd_cors.erl
----------------------------------------------------------------------
diff --git a/src/couchdb/couch_httpd_cors.erl b/src/couchdb/couch_httpd_cors.erl
index ef01ef4..6f501cc 100644
--- a/src/couchdb/couch_httpd_cors.erl
+++ b/src/couchdb/couch_httpd_cors.erl
@@ -50,9 +50,7 @@ cors_headers(#httpd{mochi_req=MochiReq}) ->
     Host = couch_httpd_vhost:host(MochiReq),
     case get_bool_config("httpd", "enable_cors", false) of
         true ->
-            AcceptedOrigins = re:split(cors_config(Host, "origins", []),
-                                       "\\s*,\\s*",
-                                       [trim, {return, list}]),
+            AcceptedOrigins = split_list(cors_config(Host, "origins", [])),
             case MochiReq:get_header_value("Origin") of
                 undefined ->
                     [];
@@ -93,9 +91,7 @@ preflight_request(MochiReq) ->
             MochiReq;
 
         Origin ->
-            AcceptedOrigins = re:split(cors_config(Host, "origins", []),
-                                       "\\s*,\\s*",
-                                       [trim, {return, list}]),
+            AcceptedOrigins = split_list(cors_config(Host, "origins", [])),
             AcceptAll = lists:member("*", AcceptedOrigins),
 
             case {AcceptAll, AcceptedOrigins} of
@@ -157,8 +153,7 @@ handle_preflight_request(Origin, Host, MochiReq) ->
                             % could check. make sure everything is a
                             % list
                             RH = [string:to_lower(H)
-                                  || H <- re:split(Headers, ",\\s*",
-                                                   [{return,list},trim])],
+                                  || H <- split_headers(Headers)],
                             {Headers, RH}
                     end,
                     % check if headers are supported
@@ -217,6 +212,9 @@ get_bool_config(Section, Key, Default) ->
 split_list(S) ->
     re:split(S, "\\s*,\\s*", [trim, {return, list}]).
 
+split_headers(H) ->
+    re:split(H, ",\\s*", [{return,list}, trim]).
+
 split_host_port(HostAsString) ->
     case string:rchr(HostAsString, $:) of
         0 ->