You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ch...@apache.org on 2013/06/18 01:52:58 UTC

[2/2] git commit: updated refs/heads/master to cbbd7d5

Add live CouchDB version info to Fauxton


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/cbbd7d56
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/cbbd7d56
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/cbbd7d56

Branch: refs/heads/master
Commit: cbbd7d56b52a44937adb35678aa4a0b200334399
Parents: 85f3c8e
Author: Russell Branca <ch...@gmail.com>
Authored: Mon Jun 17 16:52:56 2013 -0700
Committer: Russell Branca <ch...@gmail.com>
Committed: Mon Jun 17 16:52:56 2013 -0700

----------------------------------------------------------------------
 src/fauxton/app/initialize.js           |  2 +-
 src/fauxton/app/modules/fauxton/base.js | 18 +++++++++++++++++-
 src/fauxton/app/router.js               |  5 ++++-
 src/fauxton/tasks/couchserver.js        | 20 ++++++++++++++------
 4 files changed, 36 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/cbbd7d56/src/fauxton/app/initialize.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/initialize.js b/src/fauxton/app/initialize.js
index e5dbc73..6fed729 100644
--- a/src/fauxton/app/initialize.js
+++ b/src/fauxton/app/initialize.js
@@ -37,7 +37,7 @@ function(app, _, Bootstrap) {
     // Thanks to: http://stackoverflow.com/a/2880929
     getParams: function(queryString) {
       if (typeof queryString !== "undefined") {
-        // I think this could be combined into one if 
+        // I think this could be combined into one if
         if (queryString.substring(0,1) === "?") {
           queryString = queryString.substring(1);
         } else if (queryString.indexOf('?') > -1) {

http://git-wip-us.apache.org/repos/asf/couchdb/blob/cbbd7d56/src/fauxton/app/modules/fauxton/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/fauxton/base.js b/src/fauxton/app/modules/fauxton/base.js
index 46bde66..b69f4ae 100644
--- a/src/fauxton/app/modules/fauxton/base.js
+++ b/src/fauxton/app/modules/fauxton/base.js
@@ -35,11 +35,27 @@ function(app, Backbone) {
     }
   });
 
+  Fauxton.VersionInfo = Backbone.Model.extend({
+    url: app.host
+  });
+
+  // TODO: this View should extend from FauxtonApi.View.
+  // Chicken and egg problem, api.js extends fauxton/base.js.
+  // Need to sort the loading order.
   Fauxton.Footer = Backbone.View.extend({
     template: "templates/fauxton/footer",
+
+    initialize: function() {
+      this.versionInfo = new Fauxton.VersionInfo();
+    },
+
+    establish: function() {
+      return [this.versionInfo.fetch()];
+    },
+
     serialize: function() {
       return {
-        version: app.version
+        version: this.versionInfo.get("version")
       };
     }
   });

http://git-wip-us.apache.org/repos/asf/couchdb/blob/cbbd7d56/src/fauxton/app/router.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/router.js b/src/fauxton/app/router.js
index e90e6e7..de1b7e4 100644
--- a/src/fauxton/app/router.js
+++ b/src/fauxton/app/router.js
@@ -129,7 +129,10 @@ function(req, app, Initialize, FauxtonAPI, Fauxton, Layout, Databases, Documents
       $("#app-container").html(this.masterLayout.el);
       this.masterLayout.render();
 
-      app.footer.render();
+      // TODO: move this to a proper Fauxton.View
+      $.when.apply(null, app.footer.establish()).done(function() {
+        app.footer.render();
+      });
     },
 
     triggerRouteEvent: function(event, args) {

http://git-wip-us.apache.org/repos/asf/couchdb/blob/cbbd7d56/src/fauxton/tasks/couchserver.js
----------------------------------------------------------------------
diff --git a/src/fauxton/tasks/couchserver.js b/src/fauxton/tasks/couchserver.js
index 576893b..0d1dc7a 100644
--- a/src/fauxton/tasks/couchserver.js
+++ b/src/fauxton/tasks/couchserver.js
@@ -18,7 +18,7 @@ module.exports = function (grunt) {
     path = require("path"),
     httpProxy = require('http-proxy'),
     express = require("express"),
-    options = grunt.config('couchserver'), 
+    options = grunt.config('couchserver'),
     app = express();
 
     // Options
@@ -42,20 +42,28 @@ module.exports = function (grunt) {
       res.sendfile(path.join(dist_dir,req.url));
     });
 
+    // create proxy to couch for all couch requests
+    var proxy = new httpProxy.HttpProxy(proxy_settings);
+
     // serve main index file from here
+    // Also proxy out to the base CouchDB host for handle_welcome_req.
+    // We still need to reach the top level CouchDB host even through
+    // the proxy.
     app.get('/', function (req, res) {
-      res.sendfile(path.join(dist_dir, 'index.html'));
+      var accept = req.headers.accept.split(',');
+      if (accept[0] == 'application/json') {
+        proxy.proxyRequest(req, res);
+      } else {
+        res.sendfile(path.join(dist_dir, 'index.html'));
+      }
     });
 
-    // create proxy to couch for all couch requests
-    var proxy = new httpProxy.HttpProxy(proxy_settings);
-
     app.all('*', function (req, res) {
       proxy.proxyRequest(req, res);
     });
 
     // Fail this task if any errors have been logged
-    if (grunt.errors) { 
+    if (grunt.errors) {
       return false;
     }