From ad7099a4e3f3d2035e3e26419a633b4bb1ce7b7c Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Wed, 11 Aug 2010 16:13:08 -0400 Subject: move futon into release overlay --- share/www/script/couch.js | 473 ---------------------------------------------- 1 file changed, 473 deletions(-) delete mode 100644 share/www/script/couch.js (limited to 'share/www/script/couch.js') diff --git a/share/www/script/couch.js b/share/www/script/couch.js deleted file mode 100644 index 33fd82ba..00000000 --- a/share/www/script/couch.js +++ /dev/null @@ -1,473 +0,0 @@ -// 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. - -// A simple class to represent a database. Uses XMLHttpRequest to interface with -// the CouchDB server. - -function CouchDB(name, httpHeaders) { - this.name = name; - this.uri = "/" + encodeURIComponent(name) + "/"; - - // The XMLHttpRequest object from the most recent request. Callers can - // use this to check result http status and headers. - this.last_req = null; - - this.request = function(method, uri, requestOptions) { - requestOptions = requestOptions || {} - requestOptions.headers = combine(requestOptions.headers, httpHeaders) - return CouchDB.request(method, uri, requestOptions); - } - - // Creates the database on the server - this.createDb = function() { - this.last_req = this.request("PUT", this.uri); - CouchDB.maybeThrowError(this.last_req); - return JSON.parse(this.last_req.responseText); - } - - // Deletes the database on the server - this.deleteDb = function() { - this.last_req = this.request("DELETE", this.uri); - if (this.last_req.status == 404) { - return false; - } - CouchDB.maybeThrowError(this.last_req); - return JSON.parse(this.last_req.responseText); - } - - // Save a document to the database - this.save = function(doc, options) { - if (doc._id == undefined) { - doc._id = CouchDB.newUuids(1)[0]; - } - - this.last_req = this.request("PUT", this.uri + - encodeURIComponent(doc._id) + encodeOptions(options), - {body: JSON.stringify(doc)}); - CouchDB.maybeThrowError(this.last_req); - var result = JSON.parse(this.last_req.responseText); - doc._rev = result.rev; - return result; - } - - // Open a document from the database - this.open = function(docId, options) { - this.last_req = this.request("GET", this.uri + encodeURIComponent(docId) - + encodeOptions(options)); - if (this.last_req.status == 404) { - return null; - } - CouchDB.maybeThrowError(this.last_req); - return JSON.parse(this.last_req.responseText); - } - - // Deletes a document from the database - this.deleteDoc = function(doc) { - this.last_req = this.request("DELETE", this.uri + encodeURIComponent(doc._id) - + "?rev=" + doc._rev); - CouchDB.maybeThrowError(this.last_req); - var result = JSON.parse(this.last_req.responseText); - doc._rev = result.rev; //record rev in input document - doc._deleted = true; - return result; - } - - // Deletes an attachment from a document - this.deleteDocAttachment = function(doc, attachment_name) { - this.last_req = this.request("DELETE", this.uri + encodeURIComponent(doc._id) - + "/" + attachment_name + "?rev=" + doc._rev); - CouchDB.maybeThrowError(this.last_req); - var result = JSON.parse(this.last_req.responseText); - doc._rev = result.rev; //record rev in input document - return result; - } - - this.bulkSave = function(docs, options) { - // first prepoulate the UUIDs for new documents - var newCount = 0 - for (var i=0; i= n) { - var uuids = CouchDB.uuids_cache.slice(CouchDB.uuids_cache.length - n); - if(CouchDB.uuids_cache.length - n == 0) { - CouchDB.uuids_cache = []; - } else { - CouchDB.uuids_cache = - CouchDB.uuids_cache.slice(0, CouchDB.uuids_cache.length - n); - } - return uuids; - } else { - CouchDB.last_req = CouchDB.request("GET", "/_uuids?count=" + (buf + n)); - CouchDB.maybeThrowError(CouchDB.last_req); - var result = JSON.parse(CouchDB.last_req.responseText); - CouchDB.uuids_cache = - CouchDB.uuids_cache.concat(result.uuids.slice(0, buf)); - return result.uuids.slice(buf); - } -} - -CouchDB.maybeThrowError = function(req) { - if (req.status >= 400) { - try { - var result = JSON.parse(req.responseText); - } catch (ParseError) { - var result = {error:"unknown", reason:req.responseText}; - } - throw result; - } -} - -CouchDB.params = function(options) { - options = options || {}; - var returnArray = []; - for(var key in options) { - var value = options[key]; - returnArray.push(key + "=" + value); - } - return returnArray.join("&"); -}; -- cgit v1.2.3