Skip to content

Instantly share code, notes, and snippets.

@hostsamurai
Created March 2, 2011 23:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hostsamurai/851996 to your computer and use it in GitHub Desktop.
Save hostsamurai/851996 to your computer and use it in GitHub Desktop.
Unable to use HTTP proxy handler in CouchDB's externals API
Apache CouchDB 1.0.2 (LogLevel=debug) is starting.
Configuration Settings ["/etc/couchdb/default.ini","/etc/couchdb/local.ini"]:
[async_mailer] port="9000"
[attachments] compressible_types="text/*, application/javascript, application/json, application/xml"
[attachments] compression_level="8"
[couch_httpd_auth] auth_cache_size="50"
[couch_httpd_auth] authentication_db="_users"
[couch_httpd_auth] authentication_redirect="/_utils/session.html"
[couch_httpd_auth] require_valid_user="false"
[couch_httpd_auth] secret="0c0cd567d2672d625bc8f493c9b2b354"
[couch_httpd_auth] timeout="5000"
[couchdb] database_dir="/var/lib/couchdb"
[couchdb] delayed_commits="true"
[couchdb] max_attachment_chunk_size="4294967296"
[couchdb] max_dbs_open="100"
[couchdb] max_document_size="4294967296"
[couchdb] os_process_timeout="5000"
[couchdb] uri_file="/var/lib/couchdb/couch.uri"
[couchdb] util_driver_dir="/usr/lib/couchdb/erlang/lib/couch-1.0.2/priv/lib"
[couchdb] view_index_dir="/var/lib/couchdb"
[daemons] auth_cache="{couch_auth_cache, start_link, []}"
[daemons] db_update_notifier="{couch_db_update_notifier_sup, start_link, []}"
[daemons] external_manager="{couch_external_manager, start_link, []}"
[daemons] httpd="{couch_httpd, start_link, []}"
[daemons] query_servers="{couch_query_servers, start_link, []}"
[daemons] stats_aggregator="{couch_stats_aggregator, start, []}"
[daemons] stats_collector="{couch_stats_collector, start, []}"
[daemons] uuids="{couch_uuids, start, []}"
[daemons] view_manager="{couch_view, start_link, []}"
[external] mailer="/usr/bin/node /etc/couchdb/local.d/sync_mailer/mailer.js"
[httpd] allow_jsonp="false"
[httpd] authentication_handlers="{couch_httpd_oauth, oauth_authentication_handler}, {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}"
[httpd] bind_address="127.0.0.1"
[httpd] default_handler="{couch_httpd_db, handle_request}"
[httpd] max_connections="2048"
[httpd] port="5984"
[httpd] secure_rewrites="true"
[httpd] vhost_global_handlers="_utils, _uuids, _session, _oauth, _users"
[httpd_db_handlers] _changes="{couch_httpd_db, handle_changes_req}"
[httpd_db_handlers] _compact="{couch_httpd_db, handle_compact_req}"
[httpd_db_handlers] _design="{couch_httpd_db, handle_design_req}"
[httpd_db_handlers] _mailer="{couch_httpd_external, handle_external_req, <<\"mailer\">>}"
[httpd_db_handlers] _temp_view="{couch_httpd_view, handle_temp_view_req}"
[httpd_db_handlers] _view_cleanup="{couch_httpd_db, handle_view_cleanup_req}"
[httpd_design_handlers] _info="{couch_httpd_db, handle_design_info_req}"
[httpd_design_handlers] _list="{couch_httpd_show, handle_view_list_req}"
[httpd_design_handlers] _rewrite="{couch_httpd_rewrite, handle_rewrite_req}"
[httpd_design_handlers] _show="{couch_httpd_show, handle_doc_show_req}"
[httpd_design_handlers] _update="{couch_httpd_show, handle_doc_update_req}"
[httpd_design_handlers] _view="{couch_httpd_view, handle_view_req}"
[httpd_global_handlers] /="{couch_httpd_misc_handlers, handle_welcome_req, <<\"Welcome\">>}"
[httpd_global_handlers] _active_tasks="{couch_httpd_misc_handlers, handle_task_status_req}"
[httpd_global_handlers] _all_dbs="{couch_httpd_misc_handlers, handle_all_dbs_req}"
[httpd_global_handlers] _async_mailer="{couch_httpd_proxy, handle_proxy_req, <<\"http://127.0.0.1:9000\">>}"
[httpd_global_handlers] _config="{couch_httpd_misc_handlers, handle_config_req}"
[httpd_global_handlers] _google="{couch_httpd_proxy, handle_proxy_req, <<\"http://www.google.com\">>}"
[httpd_global_handlers] _log="{couch_httpd_misc_handlers, handle_log_req}"
[httpd_global_handlers] _oauth="{couch_httpd_oauth, handle_oauth_req}"
[httpd_global_handlers] _replicate="{couch_httpd_misc_handlers, handle_replicate_req}"
[httpd_global_handlers] _restart="{couch_httpd_misc_handlers, handle_restart_req}"
[httpd_global_handlers] _session="{couch_httpd_auth, handle_session_req}"
[httpd_global_handlers] _stats="{couch_httpd_stats_handlers, handle_stats_req}"
[httpd_global_handlers] _utils="{couch_httpd_misc_handlers, handle_utils_dir_req, \"/usr/share/couchdb/www\"}"
[httpd_global_handlers] _uuids="{couch_httpd_misc_handlers, handle_uuids_req}"
[httpd_global_handlers] favicon.ico="{couch_httpd_misc_handlers, handle_favicon_req, \"/usr/share/couchdb/www\"}"
[log] file="/var/log/couchdb/couch.log"
[log] include_sasl="true"
[log] level="debug"
[os_daemons] async_mailer="/etc/couchdb/local.d/async_mailer/mailer.js"
[query_server_config] reduce_limit="true"
[query_servers] javascript="/usr/bin/couchjs /usr/share/couchdb/server/main.js"
[replicator] max_http_pipeline_size="50"
[replicator] max_http_sessions="20"
[replicator] ssl_certificate_max_depth="3"
[replicator] verify_ssl_certificates="false"
[stats] rate="1000"
[stats] samples="[0, 60, 300, 900]"
[uuids] algorithm="sequential"
[vhosts] blog.couchdb:5984="/blog/_design/blog/_rewrite"
Apache CouchDB has started. Time to relax.
[info] [<0.32.0>] Apache CouchDB has started on http://127.0.0.1:5984/
[debug] [<0.98.0>] 'GET' /_google/search?q=plankton {1,1}
Headers: [{'Accept',"*/*"},
{'Host',"127.0.0.1:5984"},
{'User-Agent',"curl/7.21.4 (x86_64-unknown-linux-gnu) libcurl/7.21.4 OpenSSL/1.0.0d zlib/1.2.5"}]
[debug] [<0.98.0>] OAuth Params: [{"q","plankton"}]
[error] [<0.98.0>] Uncaught error in HTTP request: {error,undef}
[info] [<0.98.0>] Stacktrace: [{couch_httpd_proxy,handle_proxy_req,
[{httpd,
{mochiweb_request,#Port<0.2067>,'GET',
"/_google/search?q=plankton",
{1,1},
{3,
{"user-agent",
{'User-Agent',
"curl/7.21.4 (x86_64-unknown-linux-gnu) libcurl/7.21.4 OpenSSL/1.0.0d zlib/1.2.5"},
{"host",
{'Host',"127.0.0.1:5984"},
{"accept",{'Accept',"*/*"},nil,nil},
nil},
nil}}},
"127.0.0.1",'GET',
[<<"_google">>,<<"search">>],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},
{{[[<<"_design">>|#Fun<couch_httpd.8.61263750>]],
[],
[[<<"_view_cleanup">>|
#Fun<couch_httpd.8.61263750>]],
[],[],[],[],[],
[[<<"_compact">>|#Fun<couch_httpd.8.61263750>]],
[],
[[<<"_mailer">>|#Fun<couch_httpd.7.73239249>]],
[[<<"_temp_view">>|#Fun<couch_httpd.8.61263750>]],
[[<<"_changes">>|#Fun<couch_httpd.8.61263750>]],
[],[],[]}}},
{user_ctx,null,[],undefined},
undefined,
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},
{{[],
[[<<"_show">>|#Fun<couch_httpd.10.132977763>]],
[[<<"_info">>|#Fun<couch_httpd.10.132977763>],
[<<"_list">>|#Fun<couch_httpd.10.132977763>]],
[[<<"_update">>|#Fun<couch_httpd.10.132977763>]],
[],[],[],[],[],
[[<<"_rewrite">>|#Fun<couch_httpd.10.132977763>]],
[],[],[],
[[<<"_view">>|#Fun<couch_httpd.10.132977763>]],
[],[]}}},
undefined,#Fun<couch_httpd.6.96187723>,
{dict,15,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},
{{[[<<"_restart">>|#Fun<couch_httpd.6.96187723>],
[<<"_replicate">>|#Fun<couch_httpd.6.96187723>]],
[[<<"_active_tasks">>|
#Fun<couch_httpd.6.96187723>]],
[],
[[<<"_async_mailer">>|
#Fun<couch_httpd.5.8198673>]],
[[<<"_utils">>|#Fun<couch_httpd.5.8198673>],
[<<"/">>|#Fun<couch_httpd.5.8198673>],
[<<"_config">>|#Fun<couch_httpd.6.96187723>]],
[[<<"_log">>|#Fun<couch_httpd.6.96187723>]],
[],[],
[[<<"_all_dbs">>|#Fun<couch_httpd.6.96187723>]],
[],
[[<<"favicon.ico">>|#Fun<couch_httpd.5.8198673>],
[<<"_stats">>|#Fun<couch_httpd.6.96187723>]],
[[<<"_session">>|#Fun<couch_httpd.6.96187723>],
[<<"_uuids">>|#Fun<couch_httpd.6.96187723>]],
[],[],
[[<<"_oauth">>|#Fun<couch_httpd.6.96187723>]],
[[<<"_google">>|#Fun<couch_httpd.5.8198673>]]}}}},
<<"http://www.google.com">>]},
{couch_httpd,handle_request_int,5},
{mochiweb_http,headers,5},
{proc_lib,init_p_do_apply,3}]
[info] [<0.98.0>] 127.0.0.1 - - 'GET' /_google/search?q=plankton 500
[debug] [<0.98.0>] httpd 500 error response:
{"error":"unknown_error","reason":"undef"}
@hostsamurai
Copy link
Author

My bad. This is not available on 1.0.2, but will be in 1.1.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment