summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-05HTTP proxy handler.Paul Joseph Davis
The second of two new features to replace the _externals protocols. This allows users to configure CouchDB to proxy requests to an external HTTP server. The external HTTP server is not required to be on the same host running CouchDB. The configuration looks like such: [httpd_global_handlers] _google = {couch_httpd_proxy, handle_proxy_req, <<"http://www.google.com">>} You can then hit this proxy at the url: http://127.0.0.1:5984/_google If you add any path after the proxy name, or make a request with a query string, those will be appended to the URL specified in the configuration. Ie: http://127.0.0.1:5984/_google/search?q=plankton would translate to: http://www.google.com/search?q=plankton Obviously, request bodies are handled as expected. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031877 13f79535-47bb-0310-9956-ffa450edef68
2010-11-05Enable CouchDB to manage OS process daemons.Paul Joseph Davis
This is a simple feature that allows useres to configure CouchDB so that it maintains a given OS level process alive. If the process dies for any reason, CouchDB will restart it. If the process restarts too often, then CouchDB will mark it has halted and not attempt to restart it. The default max restart rate is three times in the last five seconds. These parameters are adjustable. Commands that are started in this manner will have access to a simple API over stdio to request configuration parameters or to add log statements to CouchDB's logs. To configure an OS process as a CouchDB os_daemon, create a section in your local.ini like such: [os_daemons] daemon_name = /path/to/command -with args This will make CouchDB bring up the command and attempt to keep it alive. To request a configuration parameter, an os_daemon can write a simple JSON message to stdout like such: ["get", "os_daemons"]\n which would return: {"daemon_name": "/path/to/command -with args"} Or: ["get", "os_daemons", "daemon_name"]\n which would return: "/path/to/command -with args" There's no restriction on what configuration variables are visible. There's also no method for altering the configuration. If you would like your OS daemon to be restarted in the event that the configuration changes, you can send the following messages: ["register", $(SECTION)]\n When anyting in that section changes, your OS process will be rebooted so it can pick up the new configuration settings. If you want to listen for changes on a specific key, you can send something like: ["register", $(SECTION), $(KEY)]\n In this case, CouchDB will only restart your daemon if that exact section/key pair changes, instead of anything in that entire section. Logging commands look like: ["log", $(JSON_MESSAGE)]\n Where $(JSON_MESSAGE) is arbitrary JSON data. These messages are logged at the 'info' level. If you want to log at a different level you can pass messages like such: ["log", $(JSON_MESSAGE), {"level": $(LEVEL)}]\n Where $(LEVEL) is one of "debug", "info", or "error". When implementing a daemon process to be managed by CouchDB you should remember to use a method like checking the parent process id or if stdin has been closed. These flags can tell you if your daemon process has been orphaned so you can exit cleanly. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031875 13f79535-47bb-0310-9956-ffa450edef68
2010-11-05useless js loggingBenoit Chesneau
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031874 13f79535-47bb-0310-9956-ffa450edef68
2010-11-04Replicator: set Content-Length header when posting to _ensure_full_commit. ↵Filipe David Borba Manana
Same reason as for COUCHDB-932. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031276 13f79535-47bb-0310-9956-ffa450edef68
2010-11-03Fix ibrowse 2.0.x inactivity timeouts not getting cleared.Filipe David Borba Manana
Patch submitted upstream: http://github.com/cmullaparthi/ibrowse/issues/#issue/17 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030534 13f79535-47bb-0310-9956-ffa450edef68
2010-11-03We don't have MOVE requests. No need to track them.Jan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030430 13f79535-47bb-0310-9956-ffa450edef68
2010-11-03typoJan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030409 13f79535-47bb-0310-9956-ffa450edef68
2010-11-03Replicator fix: add Content-Length header to the request that creates the ↵Filipe David Borba Manana
remote DB. Closes COUCHDB-932. Patch by Dale Harvey. Thanks. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030405 13f79535-47bb-0310-9956-ffa450edef68
2010-11-02Escape URL and cookie input.Jan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030261 13f79535-47bb-0310-9956-ffa450edef68
2010-10-30Trivial change: add/move semi-collons to where they belong to.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1029030 13f79535-47bb-0310-9956-ffa450edef68
2010-10-30Avoiding hardcoded value for the view index disk size.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1029026 13f79535-47bb-0310-9956-ffa450edef68
2010-10-30Closes COUCHDB-821.Filipe David Borba Manana
Improved the coverage and quality of the design_docs.js test. The actual issue (triggering a view indexation when invoking the view cleanup URI) was fixed in COUCHDB-858. Patch by Klaus Trainer. Thanks. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1029025 13f79535-47bb-0310-9956-ffa450edef68
2010-10-27sort _all_dbs at api not http level.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028070 13f79535-47bb-0310-9956-ffa450edef68
2010-10-27ensure _all_dbs output is sorted.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028063 13f79535-47bb-0310-9956-ffa450edef68
2010-10-25GET /db/_design/doc/_info should not trigger an update.Filipe David Borba Manana
Closes COUCHDB-858. Patch by Klaus Trainer. Thanks Klaus. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1027215 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20checkpoints reuse session_id. Patch by tilgovi. COUCHDB-704Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025573 13f79535-47bb-0310-9956-ffa450edef68
2010-10-20non-blocking creation of new view groups, COUCHDB-900Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025563 13f79535-47bb-0310-9956-ffa450edef68
2010-10-19Added missing semi-colons and variable declarations .Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1024378 13f79535-47bb-0310-9956-ffa450edef68
2010-10-18Avoid occasional stalling of Futon in Firefox.Jan Lehnardt
Closes COUCHDB-896. Patch by Dale Harvey. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023807 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16Reformatting and organizing better the export statements.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023353 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16Replicator: deal with 303 HTTP redirects. Closes COUCHDB-918.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023345 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16Replicator: use pattern matching with the #url record instead of the raw tuple.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023276 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16Replicator: fix issues when a peer is accessible via SSL.Filipe David Borba Manana
Closes COUCHDB-491. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023274 13f79535-47bb-0310-9956-ffa450edef68
2010-10-14Fixed typo in comment.Paul Joseph Davis
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022621 13f79535-47bb-0310-9956-ffa450edef68
2010-10-14like in view, check content_type on POST /db/_all_docsBenoit Chesneau
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022447 13f79535-47bb-0310-9956-ffa450edef68
2010-10-13get _changes on specific docidsBenoit Chesneau
/POST /db/_changes {"doc_ids": ["docid1", ...]} git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022291 13f79535-47bb-0310-9956-ffa450edef68
2010-10-12Avoid gen_server call timeout error after compacting a database (seems to ↵Filipe David Borba Manana
happen only for large DBs, but not always). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1021811 13f79535-47bb-0310-9956-ffa450edef68
2010-10-11Fix ddoc sig test.Paul Joseph Davis
Forgot to revert after fixing the group sig generation. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1021433 13f79535-47bb-0310-9956-ffa450edef68
2010-10-10Avoid view regeneration for new ETags support.Paul Joseph Davis
This reverts the group signature calculation to use a tuple that would've been generated before changing the view record definition. New ETag's will automatically be supported when people run their next index update. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1006345 13f79535-47bb-0310-9956-ffa450edef68
2010-10-10Fixes COUCHDB-799 - More granular ETags for views.Paul Joseph Davis
ETags for views now only change when their underlying view index changes due to indexing or purges. ETags are also specific to each view. Thanks to Klaus Trainer for the patch. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1006339 13f79535-47bb-0310-9956-ffa450edef68
2010-10-09Bug fix: when receiving the compact_done message, make sure the gen_server ↵Filipe David Borba Manana
unlinks itself from the compactor process and purges the compactor's exit message from its mailbox. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1006181 13f79535-47bb-0310-9956-ffa450edef68
2010-10-07Fix bad JavaScript practices and avoid declaration of 2 global variables.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1005513 13f79535-47bb-0310-9956-ffa450edef68
2010-10-03import couch_tests.js in custom_test.html so that CouchDB.protocol is ↵Robert Newson
defined. Is there a tidier fix? git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1004015 13f79535-47bb-0310-9956-ffa450edef68
2010-10-02using an infinity timeout in places where we wait on disk ioJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003723 13f79535-47bb-0310-9956-ffa450edef68
2010-10-01remove vestigal db handle that will just be replaced by couch_view_updater ↵John Christopher Anderson
anyway git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003706 13f79535-47bb-0310-9956-ffa450edef68
2010-10-01close db handles after using them to get view groupsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003701 13f79535-47bb-0310-9956-ffa450edef68
2010-10-01downgrade log line from error to debug outputJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003620 13f79535-47bb-0310-9956-ffa450edef68
2010-10-01Remove no longer necessary include macro (forgotten in revision 963038).Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003475 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30fix badmatch for COPY call with missing Destination header.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003050 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30Revert "COUCHDB-903 - add {ok, true} to COPY result."Robert Newson
This reverts commit 5d918e616119e308ca38dc847dd8165e089557dc. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003044 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30COUCHDB-903 - add {ok, true} to COPY result.Robert Newson
Thanks to Bob Dionne for original patch. I've modified it to fix the badmatch error if you do COPY without a Destination header. It now yields a 400 (Bad Request) error without spewing a stack trace. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003035 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30Removing ?getv macros.Filipe David Borba Manana
With OTP releases up to R13B03 it's not possible to define a 2 macro functions with the same name and different arities. (Only allowed in R13B04 and R14). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003025 13f79535-47bb-0310-9956-ffa450edef68
2010-09-29Add missing expression to close the database (COUCHDB-892 related).Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1002810 13f79535-47bb-0310-9956-ffa450edef68
2010-09-28Replicator fix: for a filtered replication, the replication ID should take ↵Filipe David Borba Manana
into account the filter function's code and not only its name. Closes COUCHDB-892. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1002259 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27CommonJS support in map functionsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001895 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27Replacing calls to couch_util:get_value with ?getvFilipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001879 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27Adding new macro ?getv as an alias to couch_util:get_value.Filipe David Borba Manana
That function is used so often by most (if not all) modules that it deserves a small macro to help keeping the code short. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001863 13f79535-47bb-0310-9956-ffa450edef68
2010-09-25update documents test assertionsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001295 13f79535-47bb-0310-9956-ffa450edef68
2010-09-25COUCHDB-393 related: moving couch.uri to a better place by default.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001283 13f79535-47bb-0310-9956-ffa450edef68
2010-09-25Explicitely close the file descriptor. It doesn't hurt.Filipe David Borba Manana
Also, since we open the file in 'raw' mode, I suspect the file descriptor is not closed when the couch_file server dies. From erl -man file: "The raw option allows faster access to a file, because no Erlang process is needed to handle the file." For me, no Erlang process handling the file means that it's likely the file is not closed by any other process. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001196 13f79535-47bb-0310-9956-ffa450edef68