Skip to content

Commit d2b6b78

Browse files
committed
refactor (api-server) better connection errors handling
- make more user friendly connection errors logging - rename ServerCodeService => ApiServerService
1 parent 6b58838 commit d2b6b78

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

lib/server-code/runners/debug.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
'use strict';
22

3-
const logger = require('../../util/logger'),
4-
file = require('../../util/file'),
5-
redis = require('redis'),
6-
promiseWhile = require('../../util/promise').promiseWhile,
7-
denodeify = require('../../util/promise').denodeify,
8-
ServerCodeService = require('../services/server-code'),
9-
tasksExecutor = require('./tasks/executor'),
10-
ServerCodeModel = require('../model');
3+
const logger = require('../../util/logger'),
4+
file = require('../../util/file'),
5+
redis = require('redis'),
6+
promiseWhile = require('../../util/promise').promiseWhile,
7+
denodeify = require('../../util/promise').denodeify,
8+
ApiServerService = require('../services/api-server'),
9+
tasksExecutor = require('./tasks/executor'),
10+
ServerCodeModel = require('../model');
1111

1212
const TASKS_AWAIT_TIMEOUT = 10;
1313
const SESSION_TTL = 60;
@@ -53,7 +53,7 @@ class TaskAcquirer {
5353
class DebugCodeRunner {
5454
constructor(opts) {
5555
this.options = opts;
56-
this.scs = new ServerCodeService(opts.app, opts.backendless.apiServer);
56+
this.apiServer = new ApiServerService(opts.app, opts.backendless.apiServer);
5757

5858
this.messageBroker = new ThenRedis(opts.backendless.msgBroker);
5959
this.model = this.buildModel();
@@ -103,7 +103,7 @@ class DebugCodeRunner {
103103
}
104104

105105
if (this.debugSessionId) {
106-
this.scs.unregisterRunner();
106+
this.apiServer.unregisterRunner();
107107
this.messageBroker.del(this.debugSessionId);
108108
}
109109

@@ -115,22 +115,22 @@ class DebugCodeRunner {
115115
}
116116

117117
registerHandlers() {
118-
return this.scs.registerModel(this.model);
118+
return this.apiServer.registerModel(this.model);
119119
}
120120

121121
registerServices() {
122122
const services = this.model.services.values();
123123

124124
if (services.length) {
125-
return this.scs.unregisterDebugServices()
125+
return this.apiServer.unregisterDebugServices()
126126
.then(() => Promise.all(services.map((s) => {
127-
return this.scs.registerDebugService(this.model.describeService(s.name));
127+
return this.apiServer.registerDebugService(this.model.describeService(s.name));
128128
})));
129129
}
130130
}
131131

132132
registerRunner() {
133-
return this.scs.registerRunner()
133+
return this.apiServer.registerRunner()
134134
.then(debugId => (this.debugSessionId = debugId));
135135
}
136136

lib/server-code/services/server-code.js renamed to lib/server-code/services/api-server.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function parseError(res) {
1616
|| `Status Code ${res.statusCode} (${res.statusMessage})`;
1717
}
1818

19-
class ServerCodeService {
19+
class ApiServerService {
2020
constructor(app, serverUrl) {
2121
this.app = app;
2222
this.serverUrl = serverUrl;
@@ -34,7 +34,11 @@ class ServerCodeService {
3434
headers: this.appHeaders
3535
}, options);
3636

37-
return request(options);
37+
return request(options).catch((err) => {
38+
logger.error(`Connection attempt failed with ${err.message}`);
39+
40+
throw new Error('Could not connect to Backendless API Server');
41+
});
3842
}
3943

4044
registerModel(model) {
@@ -146,4 +150,4 @@ class ServerCodeService {
146150
}
147151
}
148152

149-
module.exports = ServerCodeService;
153+
module.exports = ApiServerService;

0 commit comments

Comments
 (0)