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 ->