Skip to content

Commit 76a0e09

Browse files
committed
Combined health into detectApiVersion
1 parent 7f473cf commit 76a0e09

File tree

4 files changed

+36
-75
lines changed

4 files changed

+36
-75
lines changed

lib/clientStub.d.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,6 @@ export declare class DgraphClientStub {
1414
mutate(mu: Mutation): Promise<Assigned>;
1515
commit(ctx: TxnContext): Promise<TxnContext>;
1616
abort(ctx: TxnContext): Promise<TxnContext>;
17-
health(): Promise<{
18-
health: string;
19-
version: string;
20-
instance?: string;
21-
uptime?: number;
22-
}>;
2317
login(userid?: string, password?: string, refreshToken?: string): Promise<boolean>;
2418
logout(): void;
2519
getAuthTokens(): {

lib/clientStub.js

Lines changed: 17 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,4 @@
11
"use strict";
2-
var __assign = (this && this.__assign) || function () {
3-
__assign = Object.assign || function(t) {
4-
for (var s, i = 1, n = arguments.length; i < n; i++) {
5-
s = arguments[i];
6-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7-
t[p] = s[p];
8-
}
9-
return t;
10-
};
11-
return __assign.apply(this, arguments);
12-
};
132
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
143
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
154
return new (P || (P = Promise))(function (resolve, reject) {
@@ -63,14 +52,26 @@ var DgraphClientStub = (function () {
6352
}
6453
DgraphClientStub.prototype.detectApiVersion = function () {
6554
return __awaiter(this, void 0, void 0, function () {
66-
var health;
55+
var response, err_1;
6756
return __generator(this, function (_a) {
6857
switch (_a.label) {
69-
case 0: return [4, this.health()];
58+
case 0:
59+
_a.trys.push([0, 2, , 3]);
60+
return [4, this.getHealth()];
7061
case 1:
71-
health = _a.sent();
72-
this.legacyApi = health.version.startsWith("1.0.");
73-
return [2, health.version];
62+
response = _a.sent();
63+
if (response.data === "OK") {
64+
this.legacyApi = true;
65+
return [2, "1.0.x"];
66+
}
67+
else {
68+
return [2, response.data["version"]];
69+
}
70+
return [3, 3];
71+
case 2:
72+
err_1 = _a.sent();
73+
throw new Error("Invalid status code");
74+
case 3: return [2];
7475
}
7576
});
7677
});
@@ -249,33 +250,6 @@ var DgraphClientStub = (function () {
249250
: "/abort/" + ctx.start_ts;
250251
return this.callAPI(url, { method: "POST" });
251252
};
252-
DgraphClientStub.prototype.health = function () {
253-
return __awaiter(this, void 0, void 0, function () {
254-
var response, text;
255-
return __generator(this, function (_a) {
256-
switch (_a.label) {
257-
case 0: return [4, fetch(this.getURL("health"), {
258-
method: "GET",
259-
})];
260-
case 1:
261-
response = _a.sent();
262-
if (response.status >= 300 || response.status < 200) {
263-
throw new Error("Invalid status code = " + response.status);
264-
}
265-
return [4, response.text()];
266-
case 2:
267-
text = _a.sent();
268-
if (text === "OK") {
269-
return [2, {
270-
health: text,
271-
version: "1.0.x",
272-
}];
273-
}
274-
return [2, __assign(__assign({}, JSON.parse(text)), { health: "OK" })];
275-
}
276-
});
277-
});
278-
};
279253
DgraphClientStub.prototype.login = function (userid, password, refreshToken) {
280254
return __awaiter(this, void 0, void 0, function () {
281255
var body, res;

lib/zero.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,12 @@ var DgraphZero = (function () {
6161
return __awaiter(this, void 0, void 0, function () {
6262
var url;
6363
return __generator(this, function (_a) {
64-
url = "health" + (all ? "?all" : "");
65-
return [2, this.callAPI(url, {})];
64+
switch (_a.label) {
65+
case 0:
66+
url = "health" + (all ? "?all" : "");
67+
return [4, this.callAPI(url, {})];
68+
case 1: return [2, _a.sent()];
69+
}
6670
});
6771
});
6872
};

src/clientStub.ts

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,19 @@ export class DgraphClientStub {
4040
}
4141

4242
public async detectApiVersion(): Promise<string> {
43-
const health = await this.health();
44-
this.legacyApi = health.version.startsWith("1.0.");
45-
return health.version;
43+
try {
44+
const response = await this.getHealth();
45+
46+
if (response.data === "OK") {
47+
this.legacyApi = true;
48+
return "1.0.x"
49+
} else {
50+
return response.data["version"];
51+
}
52+
}
53+
catch (err) {
54+
throw new Error("Failed to obtain alpha health.");
55+
}
4656
}
4757

4858
public alter(op: Operation): Promise<Payload> {
@@ -232,27 +242,6 @@ export class DgraphClientStub {
232242
return this.callAPI(url, { method: "POST" });
233243
}
234244

235-
public async health(): Promise<{ health: string; version: string; instance?: string; uptime?: number }> {
236-
const response: { status: number; text(): Promise<string> } =
237-
await fetch(this.getURL("health"), { // tslint:disable-line no-unsafe-any
238-
method: "GET",
239-
});
240-
if (response.status >= 300 || response.status < 200) {
241-
throw new Error(`Invalid status code = ${response.status}`);
242-
}
243-
const text = await response.text();
244-
if (text === "OK") {
245-
return {
246-
health: text,
247-
version: "1.0.x",
248-
};
249-
}
250-
return {
251-
...JSON.parse(text),
252-
health: "OK",
253-
};
254-
}
255-
256245
public async login(userid?: string, password?: string, refreshToken?: string): Promise<boolean> {
257246
if (this.legacyApi) {
258247
throw new Error("Pre v1.1 clients do not support Login methods");

0 commit comments

Comments
 (0)