diff options
| author | Jason David Davies <jasondavies@apache.org> | 2009-10-02 15:35:53 +0000 | 
|---|---|---|
| committer | Jason David Davies <jasondavies@apache.org> | 2009-10-02 15:35:53 +0000 | 
| commit | 7ccab9b164b008c32b4a35cd9524241c66069020 (patch) | |
| tree | 8647873ec9bff26d9e4fb87aa32f61346e969b5e /src | |
| parent | 6bcdf27022bd3992685a0188c3025aacfc35de5c (diff) | |
Add OAuth support for "https" URL scheme when using SSL proxy.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@821059 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
| -rw-r--r-- | src/couchdb/couch_httpd.erl | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/src/couchdb/couch_httpd.erl b/src/couchdb/couch_httpd.erl index ac9ec723..b4e8793b 100644 --- a/src/couchdb/couch_httpd.erl +++ b/src/couchdb/couch_httpd.erl @@ -273,7 +273,18 @@ absolute_uri(#httpd{mochi_req=MochiReq}, Path) ->              end;          Value -> Value      end, -    "http://" ++ Host ++ Path. +    XSsl = couch_config:get("httpd", "x_forwarded_ssl", "X-Forwarded-Ssl"), +    Scheme = case MochiReq:get_header_value(XSsl) of +        "on" -> "https"; +        _ -> +            XProto = couch_config:get("httpd", "x_forwarded_proto", "X-Forwarded-Proto"), +            case MochiReq:get_header_value(XProto) of +                % Restrict to "https" and "http" schemes only +                "https" -> "https"; +                _ -> "http" +            end +    end, +    Scheme ++ "://" ++ Host ++ Path.  unquote(UrlEncodedString) ->      mochiweb_util:unquote(UrlEncodedString). | 
