From 3c1ce4a51862f9f84ffe3049d511e6ab8060eb19 Mon Sep 17 00:00:00 2001 From: Benjamin Friedman Date: Mon, 30 Oct 2017 13:52:00 -0700 Subject: [PATCH 1/2] modifies /health to return json instead of OK --- spec/ParseServer.spec.js | 6 +++++- src/ParseServer.js | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/spec/ParseServer.spec.js b/spec/ParseServer.spec.js index 77f97c4604..200c3357d7 100644 --- a/spec/ParseServer.spec.js +++ b/spec/ParseServer.spec.js @@ -3,12 +3,16 @@ const express = require('express'); import ParseServer from '../src/ParseServer'; +import { version } from '../package.json'; describe('Server Url Checks', () => { const app = express(); app.get('/health', function(req, res){ - res.send('OK'); + res.json({ + status: 'ok', + version: version + }); }); app.listen(13376); diff --git a/src/ParseServer.js b/src/ParseServer.js index ee2c837501..7fba8690f4 100644 --- a/src/ParseServer.js +++ b/src/ParseServer.js @@ -33,7 +33,8 @@ import { SchemasRouter } from './Routers/SchemasRouter'; import { SessionsRouter } from './Routers/SessionsRouter'; import { UsersRouter } from './Routers/UsersRouter'; import { PurgeRouter } from './Routers/PurgeRouter'; -import { AudiencesRouter } from './Routers/AudiencesRouter'; +import { AudiencesRouter } from './Routers/AudiencesRouter'; +import { version } from '../package.json'; import { ParseServerRESTController } from './ParseServerRESTController'; import * as controllers from './Controllers'; @@ -137,7 +138,12 @@ class ParseServer { maxUploadSize: maxUploadSize })); - api.use('/health', (req, res) => res.sendStatus(200)); + api.use('/health', (function(req, res) { + res.json({ + version: version, + status: 'ok' + }); + })); api.use('/', bodyParser.urlencoded({extended: false}), new PublicAPIRouter().expressRouter()); @@ -252,7 +258,13 @@ class ParseServer { if(Parse.serverURL) { const request = require('request'); request(Parse.serverURL.replace(/\/$/, "") + "/health", function (error, response, body) { - if (error || response.statusCode !== 200 || body !== "OK") { + let json; + try { + json = JSON.parse(body); + } catch(e) { + json = null; + } + if (error || response.statusCode !== 200 || !json || json && json.status !== 'ok') { /* eslint-disable no-console */ console.warn(`\nWARNING, Unable to connect to '${Parse.serverURL}'.` + ` Cloud code and push notifications may be unavailable!\n`); From be4aef061d7b1967ce020e286304e08a6ac389d2 Mon Sep 17 00:00:00 2001 From: Benjamin Friedman Date: Wed, 1 Nov 2017 13:47:07 -0700 Subject: [PATCH 2/2] version removed! --- spec/ParseServer.spec.js | 4 +--- src/ParseServer.js | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/spec/ParseServer.spec.js b/spec/ParseServer.spec.js index 200c3357d7..bc78106e26 100644 --- a/spec/ParseServer.spec.js +++ b/spec/ParseServer.spec.js @@ -3,15 +3,13 @@ const express = require('express'); import ParseServer from '../src/ParseServer'; -import { version } from '../package.json'; describe('Server Url Checks', () => { const app = express(); app.get('/health', function(req, res){ res.json({ - status: 'ok', - version: version + status: 'ok' }); }); app.listen(13376); diff --git a/src/ParseServer.js b/src/ParseServer.js index 7fba8690f4..33f3398db8 100644 --- a/src/ParseServer.js +++ b/src/ParseServer.js @@ -34,7 +34,6 @@ import { SessionsRouter } from './Routers/SessionsRouter'; import { UsersRouter } from './Routers/UsersRouter'; import { PurgeRouter } from './Routers/PurgeRouter'; import { AudiencesRouter } from './Routers/AudiencesRouter'; -import { version } from '../package.json'; import { ParseServerRESTController } from './ParseServerRESTController'; import * as controllers from './Controllers'; @@ -140,7 +139,6 @@ class ParseServer { api.use('/health', (function(req, res) { res.json({ - version: version, status: 'ok' }); }));