Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570
Fix for broken multipart parsing code as mentioned in COUCHDB-570.
Testing of incremental attachments and more testing of multipart/handling.
Initial check-in of APIs for multiple/related supported and incremental replication of only changed attachments. Needs more far more testing and to be hooked up the replicator.
better error for illegal_database_name. Closes COUCHDB-566
cast string status codes (from _externals) to integers before logging. COUCHDB-551
Make it harder to accidently terminate chunked resposnes by requiring callers to explicity call last_chunk(Req) and ignoring send_chunk calls with no data.
log external reqests like any other requests
add create_target:true option to _replicate that creates the target database
Add OAuth support for "https" URL scheme when using SSL proxy.
reject attempts to upload invalid UTF-8 JSON. Closes COUCHDB-345 This patch requires JSON to be encoded using UTF-8. In the future we will accept other encodings. Thanks Joan Touzet and James Dumay for the bug reports and Curt Arnold for patches and discussion.
Fixes COUCHDB-504 Thanks to Bob Dionne for figuring out the underlying cause. Thanks to Benoit for making my initial patch alot cleaner. This version is basically Benoit's patch with two extra conditions for sending the Keep-Alive header. It must be a HTTP/1.0 connection and there must not be a Connection header already defined.
Single line http request when log=info
Fixed spurious console errors caused when attempting to query information about an already closed socket.
Fix for problem where HEAD requests that would have a chunked responses would send the chunked respone anyway. Also, we now avoid processing the request, and instead abort it as soon as the header is sent.
cleanup application of auth functions
allow configurable X-Forwarded-Host header handling for work behind reverse proxies, patch by Benoit Chesneau, closes COUCHDB-466
benoitc's attachment PUT patch passes tests for me. Closes COUCHDB-461
apply Benoit's patch fixing attachment content-length handling for GET from COUCHDB-461
Initial commit of _update handler. Thanks to Paul Davis, Jason Davies for code and others for discussion.
The _update handler accepts POSTs to paths like: /db/_design/foo/_update/bar and PUTs which include docids, like: /db/_design/foo/_update/bar/docid
The function signature:
function(doc, req) {
doc.a_new_field = req.query.something;
return [doc, "<h1>added something to your doc</h1>"];
}
The tests in update_documents.js are fairly complete and include examples of bumping a counter, changing only a single field, parsing from (and returning) XML, and creating new documents.
proper handling of 406 Not Acceptable errors in list and show functions
Initial check-in of OAuth and cookie authentication.
wheeeeeeee
trimmed trailing whitespace
Send CouchDB Server: header for all external queries. Fixes COUCHDB-379.
merge list-iterator branch to trunk. changes JavaScript _list API
added an design doc option so that doc._local_seq can be available in the map view. Closes COUCHDB-346
Move default handler configuration to couch_httpd:start_link/0
Add a configuration parameter for the default database handler. Closes COUCHDB-353 Thanks Brad Anderson
Fixes COUCHDB-41
When a database doesn't exist, it now returns:
{"error": "not_found", "reason": "no_db_file"}
Closes COUCHDB-334 - Add JSONP support to CouchDB Use JSONP by providing a ?callback=function_name URL paramter for any URL returning JSON data.
refactor JSON body error handling, also consolidate update_docs JSON response generation.
COUCHDB-306 - Improving reported errors. Case #3 turns out to be misusing the end-point for HTML forms that Futon uses. For new people it would also be triggered by accidentally using POST when a PUT to /db_name/docid is used.
refactor main.js into many files and improve show/list error handling
output errors differently during chunked responses (view and list)
Add null_authentication_handler. It is useful when running CouchDB behind an authenticating proxy which proxies the basic auth http headers to CouchDB. Having no admins defined makes authentication impossible. Use the null_authentication_handler instead.
Use now_diff instead of statistics(runtime). Closes COUCHDB-316
make some error messages more readable, committed for jchris
verbose error logging turned back on for http requests and log_level = debug
Commit Damien's rep_security branch to trunk. Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or http://wiki.apache.org/couchdb/Breaking_changes
merge design doc resource branch. breaking changes to _view query paths. closes COUCHDB-280
validate reduce view list queries, make query_parse_error response code 400 thanks Jan, thanks Jason Davies. closes COUCHDB-283
consistency in messages (HTTPd -> httpd)
- group HTTP method stats into httpd_requests_methods as per Christopher Lenz's suggestion - renamed http_status_codes to httpd_status_codes - better internal variable naming - remove comments that were leftovers from earlier refactoring
added newline to JSON responses, closes COUCHDB-107
Add runtime statistics -- without EUnit tests for now.
enhance the Mochiweb streaming api based on feedback from Bob Ippolito
Accept standalone attachment PUTs with Transfer-Encoding: chunked Includes a patch to mochiweb_request that is under review for inclusion upstream.
Fix for COUCHDB-238, explicit check and error for doc ids starting with underscore.
extract method couch_httpd:send_redirect(Req, Path)
swap 412 ad 409 error codes. fixes COUCHDB-226
use the config setting for max document size. fixes COUCHDB-60
Replacement of inets with ibrowse. Fixes COUCHDB-179 and enhances replication. Thanks Jason Davies and Adam Kocoloski for the fix, Maximillian Dornseif for reporting.
Improved etag handling for show funcs and db_doc requests; main.js cleanup (baby steps); null doc allowed for show funcs
don't log thrown errors in http requests, just things like badmatch etc
fix for COUCHDB-214 (design docs on dbs with slashes)
catch all error handling for HTTP requests
Support for streaming attachment writes.
Added decent reporting of Mochiweb start errors (eaddrinuse etc)
move couchdb to tlp
view group state gen_server. thanks damien and davisp.
user name should be binary for json
Nearly completed security/validation work. Still needs replication testing.
More security and validation work. Still incomplete.
Check in of initial validation and authorization work. This work is incomplete, as there is not yet any way of restricting who can update the design docs.
First check-in of admin http authentication and authorization.
make couch_httpd:send_error/4 public
tiny whitespace fix for 409 database error
HTTPd refactoring. Moved most code out of couch_httpd into associated modules (couch_httpd_view, couch_httpd_db, couch_httpd_misc_handlers). Also a fix to removed previous doc_by_seq index entries on compaction retry.
Changed call to Req:recv_body() by Damien's request.
reduce=false closes COUCHDB-76
Add HTTP API for getting the complete config, and add a page to Futon that displays the configuration.
Changes and refactorings to couch_config
Check-in of document purge functionality.
Fix for attachment content-type conversion from/to binary in RESTful API.
Fix retrieval of specific document revisions, which needed to be updated for the internal change to binaries.
Fix the config HTTP API for the changed JSON representation, remove the POST handling for setting option values (leaving only PUT), and add a GET /_config/section handler that allows enumerating the options in a section.
Merged json_term_changes branch back into trunk.
Rename 'module' to 'section', and 'variable' to 'option' in the config code.
Implement attachment uploading in Futon.
- Rename configuration options and sections to allow for a nicer .ini file and HTTP API calls. - Enable .ini parser to read variable assignments with spaces around the '='-sign. - Remove inadequate comment.
Some cosmetic cleanup (removed trailing whitespace, fixed indentation, make the test runner script executable).
Merge runtimeconfig branch back into trunk
HTTP COPY & MOVE for documents with tests
Idempotent document creation support, new HTTP api to generate UUIDs and support in the couch.js library for using them. Creating uuids client side ensure that document creation happens only once, despite automatic network retries.
Fix for bug COUCHDB-100.
Fixed restart testing by making it far less likely a HTTP client will get a network error on a restart request.
Added concurrent open db limit and a LRU cache for closing old databases when limit reached (configurable via MaxDbsOpen var in couch.ini). Refactored db update code in couch_db.erl into couch_db_updater.erl.
Fix for problem with count query arg in grouped reduce views. Previous fix would keep enumerating over subsequent view results despite not returning them.
Fix to previous commit r679840.
Use a method compatible with Erlang R11B to put the Erlang OTP version in the HTTP Server response header.
fix for attachment editing when their are conflicts
Make RESTful attachment API concurrency aware and the code a little more concise (thanks Damien!)
Add RESTful API for document attachments as per http://groups.google.com/group/couchdb/browse_thread/thread/c84c5f35afb5db2a with not yet comprehensive tests.
Expose endkey_docid as a view query option through the HTTP API (including tests).
Change `Server` HTTP header to say CouchDB instead of MochiWeb, and add a `Cache-Control: must-revalidate` header to all JSON and attachment responses.
Apply patch by Chris Anderson that fixes an edge case in the HTTP view interface resulting in an invalid JSON response body. Closes COUCHDB-84.
Added reduce/combine example. Fixed broken node chunking with very large keys/reduction values
Remove /db/_search API call. This will be maintained in the lucene-search branch and merged back after a 0.8 release when things got more stable.
Use linebreaks between rows for view results with a negative count value, same as for a positive value.
Enable the use of an unencoded slash in the URL of design documents. Closes COUCHDB-49. Thanks to Paul Davis for the patch.
Increase the request body size limitations on bulk_docs and document POST to 4GB.
Grouped reduce support. Needs performance work.
Experimental functionality to increment database update seq, might go away, use at own risk.
Add back /_restart URL that got lost in the transition to MochiWeb.
* Respond to DELETE requests with a "200 OK" status code instead of "202 Accepted", as the deletion is performed immediately. * The "content-type" member in attachment structures is now named "content_type" (underscore) for consistency and to be more accessible from Javascript (and presumably other languages, too)
Improve the debug logging of request details. As the logging was split into multiple log messages, concurrent requests would get mixed up in the log.
Change error handling on unknown private paths to be more consistent with how other errors are handled.
Use limit of 4GB for document PUT requests, instead of the MochiWeb default of 1MB. Closes COUCHDB-37.
Enable Etag processing for document GET requests that include the '?rev' query string parameter.
improved private path error wording
Only use chunked encoding when we actually make use of it to iteratively write the response (for example for views). Otherwise just send a normal response with a Content-Length header.
Changed temp view definition to always be jsonobjects with map/reduce source as members of the object. Everywhere we used 'text/javascript' or 'application/javascript', we now just use 'javascript'
- remove leftover debugging line
- more graceful handling of unknown private URIs including more user friendly messages - add a proper comment to the descending=false handling
Incremental reduce first checkin. Warning! Disk format change.
ignore descending=false option instead of throwing an error. includes a test case
Fix for replication being reset when replication a local and a remote database.
Replicator optmizations and fix for unnecessary document copy during re-replication
Change uuid generaion to rely on crypto. Started crypto and inets application in startscript, and also couch_server_up. Fix for regression caused by accidental check-in of disabled etags.
Added proper UUID generation and changed the details of how way debug logging is done to now use a more effcient macro instead of a function call.
Display Request HTTP version on debug
Merged mochiweb branch back into trunk.
mochiweb work. fix last crashes. All tests pass, everything looks good.
mochiweb work. All tests pass, but seeing strange crash on the erlang console.
Fix for parse bug when using non-ascii characters in json. fix for _revs_info meta info.
mochiweb branch: Merged revisions 642956-642964,642966-643202,643204-643555,643557-644592,644595-644648,644650-644673,644675-645681 via svnmerge from /incubator/couchdb/trunk
mochiweb branch: remove redundant code in etag check.
mochiweb branch: add proper Etag support for documents.
mochiweb branch: add attachment support, fix db_info.
Change /db/_fulltext ro /db/_search
mochiweb branch: Merged revisions 642965-644443,644445-644674 via svnmerge from /incubator/couchdb/trunk.
mochiweb branch: remove debugging leftover.
whitespace fix
Be more graceful with empty query argument values.
Refactor fulltext HTTP API handling: Less code, more pattern matching.
Expose fulltext search API through HTML
mochiweb branch: Use mochiweb function for URL unquoting.
mochiweb branch: configurable bind address and port.
mochiweb branch: fix for replication response.
mochiweb branch: more fixes, 13/17 unit tests passing.
mochiweb branch: improve error handling, other fixes/updates.
mochiweb branch: build fixes and integrated parts of Damien's refactoring.
Apply initial changes for mochiweb branch.
Start mochiweb branch (again).
Imported trunk.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| apache@apache.org | ViewVC Help |
| Powered by ViewVC 1.1.2 |