Skip to content

Commit c0a81a8

Browse files
montymxbflovilmart
authored andcommitted
Structured /health Response (#4305)
* modifies /health to return json instead of OK * version removed!
1 parent 46af1b6 commit c0a81a8

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

spec/ParseServer.spec.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ describe('Server Url Checks', () => {
88

99
const app = express();
1010
app.get('/health', function(req, res){
11-
res.send('OK');
11+
res.json({
12+
status: 'ok'
13+
});
1214
});
1315
app.listen(13376);
1416

src/ParseServer.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ 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';
3737

3838
import { ParseServerRESTController } from './ParseServerRESTController';
3939
import * as controllers from './Controllers';
@@ -137,7 +137,11 @@ class ParseServer {
137137
maxUploadSize: maxUploadSize
138138
}));
139139

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

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

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

0 commit comments

Comments
 (0)