3.12. HTTP Resource Handlers¶
3.12.1. Global HTTP Handlers¶
-
[httpd_global_handlers]¶ These HTTP resources are provided for CouchDB server root level.
-
/¶ [httpd_global_handlers] / = {couch_httpd_misc_handlers, handle_welcome_req, <<"Welcome">>}
-
favicon.ico¶ The favicon handler looks for favicon.ico file within specified directory:
[httpd_global_handlers] favicon.ico = {couch_httpd_misc_handlers, handle_favicon_req, "/usr/share/couchdb/www"}
-
_active_tasks¶ [httpd_global_handlers] _active_tasks = {couch_httpd_misc_handlers, handle_task_status_req}
-
_all_dbs¶ Provides a list of all server’s databases:
[httpd_global_handlers] _all_dbs = {couch_httpd_misc_handlers, handle_all_dbs_req}
Note
Sometimes you don’t want to disclose database names for everyone, but you also don’t like/want/able to set up any proxies in front of CouchDB. Removing this handler disables
_all_dbsresource and there will be no way to get list of available databases.The same also is true for other resource handlers.
-
_config¶ Provides resource to work with CouchDB config remotely. Any config changes that was made via HTTP API are applied automatically on fly and doesn’t requires server instance to be restarted:
[httpd_global_handlers] _config = {couch_httpd_misc_handlers, handle_config_req}
-
_replicate¶ Provides an API to run temporary replications:
[httpd_global_handlers] _replicate = {couch_replicator_httpd, handle_req}
-
_restart¶ [httpd_global_handlers] _restart = {couch_httpd_misc_handlers, handle_restart_req}
-
_session¶ Provides a resource with information about the current user’s session:
[httpd_global_handlers] _session = {couch_httpd_auth, handle_session_req}
-
_stats¶ [httpd_global_handlers] _stats = {couch_httpd_stats_handlers, handle_stats_req}
-
_utils¶ The _utils handler serves Fauxton’s web administration page:
[httpd_global_handlers] _utils = {couch_httpd_misc_handlers, handle_utils_dir_req, "/usr/share/couchdb/www"}
In similar way, you may set up custom handler to let CouchDB serve any static files.
-
_uuids¶ Provides a resource to get UUIDs generated by CouchDB:
[httpd_global_handlers] _uuids = {couch_httpd_misc_handlers, handle_uuids_req}
This is useful when your client environment isn’t capable of providing truly random IDs (web browsers e.g.).
-
3.12.2. Database HTTP Handlers¶
-
[httpd_db_handlers]¶ These HTTP resources are available on every CouchDB database.
-
_all_docs¶ [httpd_db_handlers] _all_docs = {couch_mrview_http, handle_all_docs_req}
-
_local_docs¶ [httpd_db_handlers] _local_docs = {couch_mrview_http, handle_local_docs_req}
-
_design_docs¶ [httpd_db_handlers] _design_docs = {couch_mrview_http, handle_design_docs_req}
-
_changes¶ [httpd_db_handlers] _changes = {couch_httpd_db, handle_changes_req}
-
_compact¶ [httpd_db_handlers] _compact = {couch_httpd_db, handle_compact_req}
-
_design¶ [httpd_db_handlers] _design = {couch_httpd_db, handle_design_req}
-
_view_cleanup¶ [httpd_db_handlers] _view_cleanup = {couch_mrview_http, handle_cleanup_req}
-
3.12.3. Design Documents HTTP Handlers¶
-
[httpd_design_handlers]¶
These HTTP resources are provided for design documents.
_compact¶ [httpd_design_handlers] _compact = {couch_mrview_http, handle_compact_req}
_info¶ [httpd_design_handlers] _info = {couch_mrview_http, handle_info_req}
_list¶ [httpd_design_handlers] _list = {couch_mrview_show, handle_view_list_req}
_rewrite¶ [httpd_design_handlers] _rewrite = {couch_httpd_rewrite, handle_rewrite_req}
_show¶ [httpd_design_handlers] _show = {couch_mrview_show, handle_doc_show_req}
_update¶ [httpd_design_handlers] _update = {couch_mrview_show, handle_doc_update_req}
_view¶ [httpd_design_handlers] _view = {couch_mrview_http, handle_view_req}