@takaro/gameserver 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gameservers/7d2d/sdtdAPIClient.d.ts +1 -0
- package/dist/gameservers/7d2d/sdtdAPIClient.d.ts.map +1 -1
- package/dist/gameservers/7d2d/sdtdAPIClient.js +4 -24
- package/dist/gameservers/7d2d/sdtdAPIClient.js.map +1 -1
- package/dist/gameservers/generic/connectorClient.d.ts.map +1 -1
- package/dist/gameservers/generic/connectorClient.js +8 -32
- package/dist/gameservers/generic/connectorClient.js.map +1 -1
- package/package.json +1 -1
- package/src/gameservers/7d2d/sdtdAPIClient.ts +9 -29
- package/src/gameservers/generic/connectorClient.ts +15 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdtdAPIClient.d.ts","sourceRoot":"","sources":["../../../src/gameservers/7d2d/sdtdAPIClient.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"sdtdAPIClient.d.ts","sourceRoot":"","sources":["../../../src/gameservers/7d2d/sdtdAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,aAAa;IAIZ,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,GAAG,CAAsB;gBAEb,MAAM,EAAE,kBAAkB;IAqB9C,OAAO,KAAK,GAAG,GAEd;IAEK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAIjD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAI/E,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAInE,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAIvE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAIzE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAajC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOnE"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { addCounterToAxios, errors } from '@takaro/util';
|
|
1
|
+
import { addCounterToAxios, createAxios, logger } from '@takaro/util';
|
|
3
2
|
import { MapInfoDTO } from '../../main.js';
|
|
4
3
|
export class SdtdApiClient {
|
|
5
4
|
constructor(config) {
|
|
6
5
|
this.config = config;
|
|
7
|
-
this.
|
|
6
|
+
this.log = logger('7d2d:api');
|
|
7
|
+
this.client = createAxios({
|
|
8
8
|
baseURL: this.url,
|
|
9
|
-
});
|
|
9
|
+
}, { logger: this.log });
|
|
10
10
|
addCounterToAxios(this.client, {
|
|
11
11
|
name: 'sdtd_api_requests_total',
|
|
12
12
|
help: 'Total number of requests to the 7D2D API',
|
|
@@ -16,26 +16,6 @@ export class SdtdApiClient {
|
|
|
16
16
|
req.headers['X-SDTD-API-SECRET'] = config.adminToken;
|
|
17
17
|
return req;
|
|
18
18
|
});
|
|
19
|
-
this.client.interceptors.response.use(function (response) {
|
|
20
|
-
return response;
|
|
21
|
-
}, function (error) {
|
|
22
|
-
// Any status codes that falls outside the range of 2xx cause this function to trigger
|
|
23
|
-
if (error.response) {
|
|
24
|
-
const simplifiedError = new errors.BadRequestError('Axios error', {
|
|
25
|
-
extra: 'A request to the 7D2D server failed',
|
|
26
|
-
status: error.response.status,
|
|
27
|
-
statusText: error.response.statusText,
|
|
28
|
-
url: error.config.url,
|
|
29
|
-
});
|
|
30
|
-
return Promise.reject(simplifiedError);
|
|
31
|
-
}
|
|
32
|
-
const simplifiedError = new errors.BadRequestError('Axios error', {
|
|
33
|
-
extra: 'A request to the 7D2D server failed',
|
|
34
|
-
message: error.message,
|
|
35
|
-
url: error.config.url,
|
|
36
|
-
});
|
|
37
|
-
return Promise.reject(simplifiedError);
|
|
38
|
-
});
|
|
39
19
|
}
|
|
40
20
|
get url() {
|
|
41
21
|
return `${this.config.useTls ? 'https' : 'http'}://${this.config.host}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdtdAPIClient.js","sourceRoot":"","sources":["../../../src/gameservers/7d2d/sdtdAPIClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdtdAPIClient.js","sourceRoot":"","sources":["../../../src/gameservers/7d2d/sdtdAPIClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectorClient.d.ts","sourceRoot":"","sources":["../../../src/gameservers/generic/connectorClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connectorClient.d.ts","sourceRoot":"","sources":["../../../src/gameservers/generic/connectorClient.ts"],"names":[],"mappings":"AA6BA,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;;IAKxB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsB5E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAehD"}
|
|
@@ -1,45 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isAxiosError } from 'axios';
|
|
2
2
|
import { config } from '../../config.js';
|
|
3
|
-
import { errors, logger } from '@takaro/util';
|
|
3
|
+
import { errors, logger, createAxios } from '@takaro/util';
|
|
4
4
|
function getConnectorClient() {
|
|
5
5
|
const log = logger('client:connector');
|
|
6
|
-
const connectorClient =
|
|
6
|
+
const connectorClient = createAxios({
|
|
7
7
|
baseURL: config.get('connector.host'),
|
|
8
8
|
headers: {
|
|
9
9
|
'Content-Type': 'application/json',
|
|
10
10
|
'User-Agent': 'Takaro',
|
|
11
11
|
},
|
|
12
|
-
});
|
|
12
|
+
}, { logger: log });
|
|
13
|
+
// Add custom interceptor for operation logging
|
|
13
14
|
connectorClient.interceptors.request.use((request) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
url: request.url,
|
|
17
|
-
operation: request.data?.operation,
|
|
18
|
-
});
|
|
19
|
-
return request;
|
|
20
|
-
});
|
|
21
|
-
connectorClient.interceptors.response.use((response) => {
|
|
22
|
-
log.debug(`⬅️ ${response.request.method?.toUpperCase()} ${response.request.path} ${response.status} ${response.statusText}`, {
|
|
23
|
-
status: response.status,
|
|
24
|
-
method: response.request.method,
|
|
25
|
-
url: response.request.url,
|
|
26
|
-
operation: response.config.data?.operation,
|
|
27
|
-
});
|
|
28
|
-
return response;
|
|
29
|
-
}, (error) => {
|
|
30
|
-
let details = {};
|
|
31
|
-
if (error.response?.data) {
|
|
32
|
-
const data = error.response.data;
|
|
33
|
-
details = JSON.stringify(data.error_description);
|
|
15
|
+
if (request.data?.operation) {
|
|
16
|
+
log.debug(`Operation: ${request.data.operation}`);
|
|
34
17
|
}
|
|
35
|
-
|
|
36
|
-
status: error.response?.status,
|
|
37
|
-
statusText: error.response?.statusText,
|
|
38
|
-
method: error.config?.method,
|
|
39
|
-
url: error.config?.url,
|
|
40
|
-
response: error.response?.data,
|
|
41
|
-
});
|
|
42
|
-
return Promise.reject(error);
|
|
18
|
+
return request;
|
|
43
19
|
});
|
|
44
20
|
return connectorClient;
|
|
45
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectorClient.js","sourceRoot":"","sources":["../../../src/gameservers/generic/connectorClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"connectorClient.js","sourceRoot":"","sources":["../../../src/gameservers/generic/connectorClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvC,MAAM,eAAe,GAAG,WAAW,CACjC;QACE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACrC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,QAAQ;SACvB;KACF,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;IAEF,+CAA+C;IAC/C,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,OAAO,eAAe;IAE1B;QACE,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,SAAiB,EAAE,IAAY;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC/D,MAAM,IAAI,MAAM,CAAC,eAAe,CAC9B,mFAAmF,CACpF,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;wBAClE,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC/D,MAAM,IAAI,MAAM,CAAC,eAAe,CAC9B,mFAAmF,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Axios, AxiosResponse } from 'axios';
|
|
2
2
|
import { SdtdConnectionInfo } from './connectionInfo.js';
|
|
3
3
|
import {
|
|
4
4
|
CommandResponse,
|
|
@@ -7,16 +7,20 @@ import {
|
|
|
7
7
|
PlayerLocation,
|
|
8
8
|
StatsResponse,
|
|
9
9
|
} from './apiResponses.js';
|
|
10
|
-
import { addCounterToAxios,
|
|
10
|
+
import { addCounterToAxios, createAxios, logger } from '@takaro/util';
|
|
11
11
|
import { MapInfoDTO } from '../../main.js';
|
|
12
12
|
|
|
13
13
|
export class SdtdApiClient {
|
|
14
14
|
private client: Axios;
|
|
15
|
+
private log = logger('7d2d:api');
|
|
15
16
|
|
|
16
17
|
constructor(private config: SdtdConnectionInfo) {
|
|
17
|
-
this.client =
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
this.client = createAxios(
|
|
19
|
+
{
|
|
20
|
+
baseURL: this.url,
|
|
21
|
+
},
|
|
22
|
+
{ logger: this.log },
|
|
23
|
+
);
|
|
20
24
|
|
|
21
25
|
addCounterToAxios(this.client, {
|
|
22
26
|
name: 'sdtd_api_requests_total',
|
|
@@ -29,30 +33,6 @@ export class SdtdApiClient {
|
|
|
29
33
|
|
|
30
34
|
return req;
|
|
31
35
|
});
|
|
32
|
-
|
|
33
|
-
this.client.interceptors.response.use(
|
|
34
|
-
function (response) {
|
|
35
|
-
return response;
|
|
36
|
-
},
|
|
37
|
-
function (error) {
|
|
38
|
-
// Any status codes that falls outside the range of 2xx cause this function to trigger
|
|
39
|
-
if (error.response) {
|
|
40
|
-
const simplifiedError = new errors.BadRequestError('Axios error', {
|
|
41
|
-
extra: 'A request to the 7D2D server failed',
|
|
42
|
-
status: error.response.status,
|
|
43
|
-
statusText: error.response.statusText,
|
|
44
|
-
url: error.config.url,
|
|
45
|
-
});
|
|
46
|
-
return Promise.reject(simplifiedError);
|
|
47
|
-
}
|
|
48
|
-
const simplifiedError = new errors.BadRequestError('Axios error', {
|
|
49
|
-
extra: 'A request to the 7D2D server failed',
|
|
50
|
-
message: error.message,
|
|
51
|
-
url: error.config.url,
|
|
52
|
-
});
|
|
53
|
-
return Promise.reject(simplifiedError);
|
|
54
|
-
},
|
|
55
|
-
);
|
|
56
36
|
}
|
|
57
37
|
|
|
58
38
|
private get url() {
|
|
@@ -1,63 +1,29 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AxiosInstance, isAxiosError } from 'axios';
|
|
2
2
|
import { config } from '../../config.js';
|
|
3
|
-
import { errors, logger } from '@takaro/util';
|
|
3
|
+
import { errors, logger, createAxios } from '@takaro/util';
|
|
4
4
|
|
|
5
5
|
function getConnectorClient() {
|
|
6
6
|
const log = logger('client:connector');
|
|
7
7
|
|
|
8
|
-
const connectorClient =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const connectorClient = createAxios(
|
|
9
|
+
{
|
|
10
|
+
baseURL: config.get('connector.host'),
|
|
11
|
+
headers: {
|
|
12
|
+
'Content-Type': 'application/json',
|
|
13
|
+
'User-Agent': 'Takaro',
|
|
14
|
+
},
|
|
13
15
|
},
|
|
14
|
-
|
|
16
|
+
{ logger: log },
|
|
17
|
+
);
|
|
15
18
|
|
|
19
|
+
// Add custom interceptor for operation logging
|
|
16
20
|
connectorClient.interceptors.request.use((request) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
operation: request.data?.operation,
|
|
21
|
-
});
|
|
21
|
+
if (request.data?.operation) {
|
|
22
|
+
log.debug(`Operation: ${request.data.operation}`);
|
|
23
|
+
}
|
|
22
24
|
return request;
|
|
23
25
|
});
|
|
24
26
|
|
|
25
|
-
connectorClient.interceptors.response.use(
|
|
26
|
-
(response) => {
|
|
27
|
-
log.debug(
|
|
28
|
-
`⬅️ ${response.request.method?.toUpperCase()} ${response.request.path} ${response.status} ${
|
|
29
|
-
response.statusText
|
|
30
|
-
}`,
|
|
31
|
-
{
|
|
32
|
-
status: response.status,
|
|
33
|
-
method: response.request.method,
|
|
34
|
-
url: response.request.url,
|
|
35
|
-
operation: response.config.data?.operation,
|
|
36
|
-
},
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
return response;
|
|
40
|
-
},
|
|
41
|
-
(error: AxiosError) => {
|
|
42
|
-
let details = {};
|
|
43
|
-
|
|
44
|
-
if (error.response?.data) {
|
|
45
|
-
const data = error.response.data as Record<string, unknown>;
|
|
46
|
-
details = JSON.stringify(data.error_description);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
log.warn(`☠️ Request errored: [${error.response?.status}] ${details}`, {
|
|
50
|
-
status: error.response?.status,
|
|
51
|
-
statusText: error.response?.statusText,
|
|
52
|
-
method: error.config?.method,
|
|
53
|
-
url: error.config?.url,
|
|
54
|
-
response: error.response?.data,
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
return Promise.reject(error);
|
|
58
|
-
},
|
|
59
|
-
);
|
|
60
|
-
|
|
61
27
|
return connectorClient;
|
|
62
28
|
}
|
|
63
29
|
|