blob: e4a1f413a78019ca1a1373619607b734d4f1a59f [file] [log] [blame]
.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
.. use this file except in compliance with the License. You may obtain a copy of
.. the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
.. License for the specific language governing permissions and limitations under
.. the License.
.. highlight:: ini
======================
HTTP Resource Handlers
======================
.. _config/httpd_global_handlers:
Global HTTP Handlers
====================
.. config:section:: httpd_global_handlers :: Global HTTP Handlers
These HTTP resources are provided for CouchDB server root level.
.. config:option:: /
::
[httpd_global_handlers]
/ = {couch_httpd_misc_handlers, handle_welcome_req, <<"Welcome">>}
.. config:option:: 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"}
.. config:option:: _active_tasks
::
[httpd_global_handlers]
_active_tasks = {couch_httpd_misc_handlers, handle_task_status_req}
.. config:option:: _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 setup any proxies in front of CouchDB.
Removing this handler disables ``_all_dbs`` resource and there will be
no way to get list of available databases.
The same also is true for other resource handlers.
.. config:option:: _config
Provides resource to work with CouchDB config :ref:`remotely <api/config>`.
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}
.. config:option:: _log
::
[httpd_global_handlers]
_log = {couch_httpd_misc_handlers, handle_log_req}
.. config:option:: _oauth
::
[httpd_global_handlers]
_oauth = {couch_httpd_oauth, handle_oauth_req}
.. config:option:: _replicate
Provides an API to run :ref:`temporary replications <api/server/replicate>`::
[httpd_global_handlers]
_replicate = {couch_replicator_httpd, handle_req}
.. config:option:: _restart
::
[httpd_global_handlers]
_restart = {couch_httpd_misc_handlers, handle_restart_req}
.. config:option:: _session
Provides a resource with information about the current user's session::
[httpd_global_handlers]
_session = {couch_httpd_auth, handle_session_req}
.. config:option:: _stats
::
[httpd_global_handlers]
_stats = {couch_httpd_stats_handlers, handle_stats_req}
.. config:option:: _utils
The :ref:`_utils <api/server/utils>` handler serves `Futon`'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 setup custom handler to let CouchDB serve any static
files.
.. config:option:: _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.).
.. _config/httpd_db_handlers:
Database HTTP Handlers
======================
.. config:section:: httpd_db_handlers :: Database HTTP Handlers
These HTTP resources are available on every CouchDB database.
.. config:option:: _all_docs
::
[httpd_db_handlers]
_all_docs = {couch_mrview_http, handle_all_docs_req}
.. config:option:: _changes
::
[httpd_db_handlers]
_changes = {couch_httpd_db, handle_changes_req}
.. config:option:: _compact
::
[httpd_db_handlers]
_compact = {couch_httpd_db, handle_compact_req}
.. config:option:: _design
::
[httpd_db_handlers]
_design = {couch_httpd_db, handle_design_req}
.. config:option:: _temp_view
::
[httpd_db_handlers]
_temp_view = {couch_mrview_http, handle_temp_view_req}
.. config:option:: _view_cleanup
::
[httpd_db_handlers]
_view_cleanup = {couch_mrview_http, handle_cleanup_req}
.. _config/httpd_design_handlers:
Design Documents HTTP Handlers
==============================
.. config:section:: httpd_design_handlers :: Design Documents HTTP Handlers
These HTTP resources are provided for design documents.
.. config:option:: _compact
::
[httpd_design_handlers]
_compact = {couch_mrview_http, handle_compact_req}
.. config:option:: _info
::
[httpd_design_handlers]
_info = {couch_mrview_http, handle_info_req}
.. config:option:: _list
::
[httpd_design_handlers]
_list = {couch_mrview_show, handle_view_list_req}
.. config:option:: _rewrite
::
[httpd_design_handlers]
_rewrite = {couch_httpd_rewrite, handle_rewrite_req}
.. config:option:: _show
::
[httpd_design_handlers]
_show = {couch_mrview_show, handle_doc_show_req}
.. config:option:: _update
::
[httpd_design_handlers]
_update = {couch_mrview_show, handle_doc_update_req}
.. config:option:: _view
::
[httpd_design_handlers]
_view = {couch_mrview_http, handle_view_req}