diff --git a/browserid/.gitignore b/browserid/.gitignore index ae9f5955b3f2463d8aa275899dfa93fe2d05c42b..c4c53c804943031be0c755915d85c53e73beca7b 100644 --- a/browserid/.gitignore +++ b/browserid/.gitignore @@ -1 +1 @@ -/authdb.sqlite +/var diff --git a/browserid/server/app.js b/browserid/app.js similarity index 79% rename from browserid/server/app.js rename to browserid/app.js index c88200b7ced1bb9436b6ef8c3df6684236cbd621..925529b67f5910da93263a42ea111ea2a5706d5c 100644 --- a/browserid/server/app.js +++ b/browserid/app.js @@ -1,15 +1,19 @@ const path = require('path'), url = require('url'), - wsapi = require('./wsapi.js'), - httputils = require('./httputils.js'), - connect = require('connect'), - webfinger = require('./webfinger.js'), + fs = require('fs'), + wsapi = require('./lib/wsapi.js'), + httputils = require('./lib/httputils.js'), + webfinger = require('./lib/webfinger.js'), sessions = require('cookie-sessions'), - secrets = require('./secrets.js'); + secrets = require('./lib/secrets.js'); + +// create the var directory if it doesn't exist +var VAR_DIR = path.join(__dirname, "var"); +try { fs.mkdirSync(VAR_DIR, 0755); } catch(e) { } const STATIC_DIR = path.join(path.dirname(__dirname), "static"); -const COOKIE_SECRET = secrets.hydrateSecret('cookie_secret', __dirname); +const COOKIE_SECRET = secrets.hydrateSecret('cookie_secret', VAR_DIR); function handler(request, response, next) { // dispatch! @@ -49,6 +53,8 @@ function handler(request, response, next) { } }; +exports.varDir = VAR_DIR; + exports.setup = function(server) { var week = (7 * 24 * 60 * 60 * 1000); server.use(sessions({ diff --git a/browserid/server/db.js b/browserid/lib/db.js similarity index 99% rename from browserid/server/db.js rename to browserid/lib/db.js index 4d362888e67f938fedc6eb608b8d12e761c89e55..145c2c22e2b21de439dd4e76c95c0d13db623490 100644 --- a/browserid/server/db.js +++ b/browserid/lib/db.js @@ -3,7 +3,7 @@ const sqlite = require('sqlite'), var db = new sqlite.Database(); -db.open(path.join(path.dirname(__dirname), "authdb.sqlite"), function (error) { +db.open(path.join(path.dirname(__dirname), "var", "authdb.sqlite"), function (error) { if (error) { console.log("Couldn't open database: " + error); throw error; diff --git a/browserid/server/email.js b/browserid/lib/email.js similarity index 100% rename from browserid/server/email.js rename to browserid/lib/email.js diff --git a/browserid/server/httputils.js b/browserid/lib/httputils.js similarity index 100% rename from browserid/server/httputils.js rename to browserid/lib/httputils.js diff --git a/browserid/server/prove_template.txt b/browserid/lib/prove_template.txt similarity index 100% rename from browserid/server/prove_template.txt rename to browserid/lib/prove_template.txt diff --git a/browserid/server/secrets.js b/browserid/lib/secrets.js similarity index 100% rename from browserid/server/secrets.js rename to browserid/lib/secrets.js diff --git a/browserid/server/webfinger.js b/browserid/lib/webfinger.js similarity index 100% rename from browserid/server/webfinger.js rename to browserid/lib/webfinger.js diff --git a/browserid/server/webfinger_template.xml b/browserid/lib/webfinger_template.xml similarity index 100% rename from browserid/server/webfinger_template.xml rename to browserid/lib/webfinger_template.xml diff --git a/browserid/server/wsapi.js b/browserid/lib/wsapi.js similarity index 100% rename from browserid/server/wsapi.js rename to browserid/lib/wsapi.js diff --git a/browserid/server/standalone.js b/browserid/run.js old mode 100644 new mode 100755 similarity index 66% rename from browserid/server/standalone.js rename to browserid/run.js index dd158d6aa9687a3599aa0d131278dc19b8028289..564a6afc37b1256792b15139ccba1b799a4b1e91 --- a/browserid/server/standalone.js +++ b/browserid/run.js @@ -1,7 +1,6 @@ -var sys = require("sys"), - http = require("http"), - url = require("url"), - path = require("path"), +#!/usr/bin/env node + +var path = require("path"), fs = require("fs"), express = require("express"); @@ -13,13 +12,13 @@ var handler = require("./app.js"); var app = express.createServer(); app.use(express.logger({ - stream: fs.createWriteStream(path.join(__dirname, "server.log")) + stream: fs.createWriteStream(path.join(handler.varDir, "server.log")) })); // let the specific server interact directly with the connect server to register their middleware if (handler.setup) handler.setup(app); // use the express 'static' middleware for serving of static files (cache headers, HTTP range, etc) -app.use(express.static(path.join(path.dirname(__dirname), "static"))); +app.use(express.static(path.join(__dirname, "static"))); app.listen(PRIMARY_PORT, PRIMARY_HOST);