Skip to content

Commit 3c1ce4a

Browse files
committed
modifies /health to return json instead of OK
1 parent 84aadba commit 3c1ce4a

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

spec/ParseServer.spec.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
const express = require('express');
44

55
import ParseServer from '../src/ParseServer';
6+
import { version } from '../package.json';
67

78
describe('Server Url Checks', () => {
89

910
const app = express();
1011
app.get('/health', function(req, res){
11-
res.send('OK');
12+
res.json({
13+
status: 'ok',
14+
version: version
15+
});
1216
});
1317
app.listen(13376);
1418

src/ParseServer.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ import { SchemasRouter } from './Routers/SchemasRouter';
3333
import { SessionsRouter } from './Routers/SessionsRouter';
3434
import { UsersRouter } from './Routers/UsersRouter';
3535
import { PurgeRouter } from './Routers/PurgeRouter';
36-
import { AudiencesRouter } from './Routers/AudiencesRouter';
36+
import { AudiencesRouter } from './Routers/AudiencesRouter';
37+
import { version } from '../package.json';
3738

3839
import { ParseServerRESTController } from './ParseServerRESTController';
3940
import * as controllers from './Controllers';
@@ -137,7 +138,12 @@ class ParseServer {
137138
maxUploadSize: maxUploadSize
138139
}));
139140

140-
api.use('/health', (req, res) => res.sendStatus(200));
141+
api.use('/health', (function(req, res) {
142+
res.json({
143+
version: version,
144+
status: 'ok'
145+
});
146+
}));
141147

142148
api.use('/', bodyParser.urlencoded({extended: false}), new PublicAPIRouter().expressRouter());
143149

@@ -252,7 +258,13 @@ class ParseServer {
252258
if(Parse.serverURL) {
253259
const request = require('request');
254260
request(Parse.serverURL.replace(/\/$/, "") + "/health", function (error, response, body) {
255-
if (error || response.statusCode !== 200 || body !== "OK") {
261+
let json;
262+
try {
263+
json = JSON.parse(body);
264+
} catch(e) {
265+
json = null;
266+
}
267+
if (error || response.statusCode !== 200 || !json || json && json.status !== 'ok') {
256268
/* eslint-disable no-console */
257269
console.warn(`\nWARNING, Unable to connect to '${Parse.serverURL}'.` +
258270
` Cloud code and push notifications may be unavailable!\n`);

0 commit comments

Comments
 (0)