From 334721eb52d491dc7f09572080f322de60cac0aa Mon Sep 17 00:00:00 2001 From: Pete Fritchman <petef@databits.net> Date: Thu, 20 Oct 2011 08:36:46 -0700 Subject: [PATCH] add /__heartbeat__ endpoint for load balancers - remove ping.txt - closes #481 --- browserid/app.js | 9 +++++---- browserid/static/ping.txt | 0 libs/heartbeat.js | 7 +++++++ verifier/app.js | 21 +++++++++------------ 4 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 browserid/static/ping.txt create mode 100644 libs/heartbeat.js diff --git a/browserid/app.js b/browserid/app.js index a0f26efc2..f637f884a 100644 --- a/browserid/app.js +++ b/browserid/app.js @@ -45,6 +45,7 @@ express = require('express'), secrets = require('../libs/secrets.js'), db = require('./lib/db.js'), configuration = require('../libs/configuration.js'), +heartbeat = require('../libs/heartbeat.js'), substitution = require('../libs/substitute.js'); metrics = require("../libs/metrics.js"), logger = require("../libs/logging.js").logger; @@ -102,9 +103,6 @@ function router(app) { res.render('index.ejs', {title: 'A Better Way to Sign In', fullpage: true}); }); - // BA removed .html URLs. If we have 404s, - // we should set up some redirects - app.get("/signup", function(req, res) { res.render('signup.ejs', {title: 'Sign Up', fullpage: false}); }); @@ -141,7 +139,7 @@ function router(app) { REDIRECTS = { "/manage": "/", "/users": "/", - "/users/": "/", + "/users/": "/", "/primaries" : "/developers", "/primaries/" : "/developers", "/developers" : "https://github.com/mozilla/browserid/wiki/How-to-Use-BrowserID-on-Your-Site" @@ -160,6 +158,9 @@ function router(app) { // register all the WSAPI handlers wsapi.setup(app); + // setup health check / heartbeat + heartbeat.setup(app); + // the public key app.get("/pk", function(req, res) { res.json(ca.PUBLIC_KEY.toSimpleObject()); diff --git a/browserid/static/ping.txt b/browserid/static/ping.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/libs/heartbeat.js b/libs/heartbeat.js new file mode 100644 index 000000000..c5f2aaf70 --- /dev/null +++ b/libs/heartbeat.js @@ -0,0 +1,7 @@ +exports.setup = function(app) { + app.get("/__heartbeat__", function(req, res) { + res.writeHead(200); + res.write('ok'); + res.end(); + }); +}; diff --git a/verifier/app.js b/verifier/app.js index 8a7d95e62..5e2c840d2 100644 --- a/verifier/app.js +++ b/verifier/app.js @@ -34,13 +34,14 @@ * * ***** END LICENSE BLOCK ***** */ -const path = require('path'), - url = require('url'), - fs = require('fs'), +const path = require('path'), + url = require('url'), + fs = require('fs'), certassertion = require('./lib/certassertion.js'), - express = require('express'), - metrics = require('../libs/metrics.js'), - logger = require('../libs/logging.js').logger; + express = require('express'), + metrics = require('../libs/metrics.js'), + heartbeat = require('../libs/heartbeat.js'), + logger = require('../libs/logging.js').logger; logger.info("verifier server starting up"); @@ -114,12 +115,8 @@ exports.setup = function(app) { process.exit(); }); - // A simple ping hook for monitoring. - app.get("/ping.txt", function(req ,resp) { - resp.writeHead(200, {"Content-Type": "text/plain"}) - resp.write("k."); - resp.end(); - }); + // setup health check / heartbeat + heartbeat.setup(app); app.post('/', doVerify); app.post('/verify', doVerify); -- GitLab