Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031874 13f79535-47bb-0310-9956-ffa450edef68
|
|
Same reason as for COUCHDB-932.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031276 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030430 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030409 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030261 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1029030 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1029026 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028070 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028063 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025573 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025563 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1024378 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-896.
Patch by Dale Harvey.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023807 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023353 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023345 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023276 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-491.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1023274 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022621 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022447 13f79535-47bb-0310-9956-ffa450edef68
|
|
/POST /db/_changes
{"doc_ids": ["docid1", ...]}
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1022291 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1005513 13f79535-47bb-0310-9956-ffa450edef68
|
|
defined. Is there a tidier fix?
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1004015 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003723 13f79535-47bb-0310-9956-ffa450edef68
|
|
anyway
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003706 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003701 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003620 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003475 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003050 13f79535-47bb-0310-9956-ffa450edef68
|
|
This reverts commit 5d918e616119e308ca38dc847dd8165e089557dc.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003044 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1002810 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001895 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001879 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001295 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001283 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|