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 2010/06/25 16:23:05 UTC
svn commit: r957977 - in /couchdb/branches/0.11.x:
etc/couchdb/default.ini.tpl.in src/couchdb/couch_httpd.erl
src/couchdb/couch_rep_writer.erl
Author: jan
Date: Fri Jun 25 14:23:05 2010
New Revision: 957977
URL: http://svn.apache.org/viewvc?rev=957977&view=rev
Log:
Merge r957805 from trunk:
make the authentication redirect URL configurable. setting it to the empty string yields the 0.11 behavior
Modified:
couchdb/branches/0.11.x/etc/couchdb/default.ini.tpl.in
couchdb/branches/0.11.x/src/couchdb/couch_httpd.erl
couchdb/branches/0.11.x/src/couchdb/couch_rep_writer.erl
Modified: couchdb/branches/0.11.x/etc/couchdb/default.ini.tpl.in
URL: http://svn.apache.org/viewvc/couchdb/branches/0.11.x/etc/couchdb/default.ini.tpl.in?rev=957977&r1=957976&r2=957977&view=diff
==============================================================================
--- couchdb/branches/0.11.x/etc/couchdb/default.ini.tpl.in (original)
+++ couchdb/branches/0.11.x/etc/couchdb/default.ini.tpl.in Fri Jun 25 14:23:05 2010
@@ -28,6 +28,7 @@ level = info
[couch_httpd_auth]
authentication_db = _users
+authentication_redirect = /_utils/session.html
require_valid_user = false
[query_servers]
Modified: couchdb/branches/0.11.x/src/couchdb/couch_httpd.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.11.x/src/couchdb/couch_httpd.erl?rev=957977&r1=957976&r2=957977&view=diff
==============================================================================
--- couchdb/branches/0.11.x/src/couchdb/couch_httpd.erl (original)
+++ couchdb/branches/0.11.x/src/couchdb/couch_httpd.erl Fri Jun 25 14:23:05 2010
@@ -745,14 +745,19 @@ error_headers(#httpd{mochi_req=MochiReq}
% redirect to the session page.
case ErrorStr of
<<"unauthorized">> ->
- % if the accept header matches html, then do the redirect. else proceed as usual.
- case re:run(MochiReq:get_header_value("Accept"), "html", [{capture, none}]) of
- nomatch ->
- {Code, []};
- match ->
- UrlReturn = ?l2b(couch_util:url_encode(MochiReq:get(path))),
- UrlReason = ?l2b(couch_util:url_encode(ReasonStr)),
- {302, [{"Location", couch_httpd:absolute_uri(Req, <<"/_utils/session.html?return=",UrlReturn/binary,"&reason=",UrlReason/binary>>)}]}
+ case couch_config:get("couch_httpd_auth", "authentication_redirect", nil) of
+ nil -> {Code, []};
+ AuthRedirect ->
+ % if the accept header matches html, then do the redirect. else proceed as usual.
+ case re:run(MochiReq:get_header_value("Accept"), "html", [{capture, none}]) of
+ nomatch ->
+ {Code, []};
+ match ->
+ AuthRedirectBin = ?l2b(AuthRedirect),
+ UrlReturn = ?l2b(couch_util:url_encode(MochiReq:get(path))),
+ UrlReason = ?l2b(couch_util:url_encode(ReasonStr)),
+ {302, [{"Location", couch_httpd:absolute_uri(Req, <<AuthRedirectBin/binary,"?return=",UrlReturn/binary,"&reason=",UrlReason/binary>>)}]}
+ end
end;
_Else ->
{Code, []}
Modified: couchdb/branches/0.11.x/src/couchdb/couch_rep_writer.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/0.11.x/src/couchdb/couch_rep_writer.erl?rev=957977&r1=957976&r2=957977&view=diff
==============================================================================
--- couchdb/branches/0.11.x/src/couchdb/couch_rep_writer.erl (original)
+++ couchdb/branches/0.11.x/src/couchdb/couch_rep_writer.erl Fri Jun 25 14:23:05 2010
@@ -78,7 +78,6 @@ write_bulk_docs(#http_db{headers = Heade
body = {[{new_edits, false}, {docs, JsonDocs}]},
headers = couch_util:proplist_apply_field({"Content-Type", "application/json"}, [{"X-Couch-Full-Commit", "false"} | Headers])
},
- ?LOG_ERROR("headers ~p",[Request#http_db.headers]),
ErrorsJson = case couch_rep_httpc:request(Request) of
{FailProps} ->
exit({target_error, proplists:get_value(<<"error">>, FailProps)});