domrobot-client 3.1.0 → 3.2.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/lib/domrobot.d.ts CHANGED
@@ -20,8 +20,10 @@ export declare class ApiClient {
20
20
  * @param methodParams An object of parameters added to the request.
21
21
  * @param clientTransactionId Id sent with every request to distinguish your api requests in case you need support.
22
22
  * @param language Language for the API request. Default is value of field language.
23
+ * @param cacheOption HTTP cache options
24
+ * @param nextjsOptions Next.js options
23
25
  */
24
- callApi(apiMethod: string, methodParams?: any, clientTransactionId?: string, language?: string): Promise<any>;
26
+ callApi(apiMethod: string, methodParams?: any, clientTransactionId?: string, language?: string, cacheOption?: "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached" | "default", nextjsOptions?: object): Promise<any>;
25
27
  /**
26
28
  * Performs a login at the API and saves the session for following API calls.
27
29
  *
@@ -39,6 +41,7 @@ export declare class ApiClient {
39
41
  setLanguage(value: string): void;
40
42
  isDebugMode(): boolean;
41
43
  setDebugMode(value: boolean): void;
44
+ getCookie(): string;
42
45
  }
43
46
  /**
44
47
  * The API response-message language.
package/lib/domrobot.js CHANGED
@@ -33,8 +33,10 @@ class ApiClient {
33
33
  * @param methodParams An object of parameters added to the request.
34
34
  * @param clientTransactionId Id sent with every request to distinguish your api requests in case you need support.
35
35
  * @param language Language for the API request. Default is value of field language.
36
+ * @param cacheOption HTTP cache options
37
+ * @param nextjsOptions Next.js options
36
38
  */
37
- callApi(apiMethod, methodParams = {}, clientTransactionId = ApiClient.generateClientTransactionId(), language = this.language) {
39
+ callApi(apiMethod, methodParams = {}, clientTransactionId = ApiClient.generateClientTransactionId(), language = this.language, cacheOption, nextjsOptions) {
38
40
  return __awaiter(this, void 0, void 0, function* () {
39
41
  if ('clTRID' in methodParams && clientTransactionId !== null) {
40
42
  methodParams.clTRID = clientTransactionId;
@@ -46,7 +48,7 @@ class ApiClient {
46
48
  method: apiMethod,
47
49
  params: methodParams,
48
50
  });
49
- const response = yield fetch(this.apiUrl, {
51
+ let fetchOption = {
50
52
  method: 'POST',
51
53
  headers: new Headers({
52
54
  'Content-Type': 'application/json',
@@ -54,14 +56,19 @@ class ApiClient {
54
56
  'User-Agent': `DomRobot/${ApiClient.CLIENT_VERSION} (Node ${process.version})`,
55
57
  }),
56
58
  body: requestBody,
57
- });
59
+ cache: cacheOption !== null && cacheOption !== void 0 ? cacheOption : "default",
60
+ };
61
+ if (nextjsOptions !== undefined) {
62
+ fetchOption = Object.assign(Object.assign({}, fetchOption), nextjsOptions);
63
+ }
64
+ const response = yield fetch(this.apiUrl, fetchOption);
58
65
  if (apiMethod === 'account.login') {
59
66
  this.cookie = response.headers.get('set-cookie');
60
67
  }
61
68
  const data = yield response.json();
62
69
  if (this.debugMode) {
63
70
  console.info(`Request (${apiMethod}): ${requestBody}`);
64
- console.info(`Response (${apiMethod}): ${data}`);
71
+ console.info(`Response (${apiMethod}): ${JSON.stringify(data)}`);
65
72
  }
66
73
  return data;
67
74
  });
@@ -112,6 +119,9 @@ class ApiClient {
112
119
  setDebugMode(value) {
113
120
  this.debugMode = value;
114
121
  }
122
+ getCookie() {
123
+ return this.cookie;
124
+ }
115
125
  }
116
126
  exports.ApiClient = ApiClient;
117
127
  ApiClient.CLIENT_VERSION = '3.0.2';
@@ -1 +1 @@
1
- {"version":3,"file":"domrobot.js","sourceRoot":"","sources":["../src/domrobot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domrobot.js","sourceRoot":"","sources":["../src/domrobot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "domrobot-client",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "INWX Domrobot Node.JS Client",
5
5
  "author": "INWX Developer <developer@inwx.de> (https://inwx.com)",
6
6
  "main": "lib/index.js",
package/src/domrobot.ts CHANGED
@@ -35,12 +35,16 @@ export class ApiClient {
35
35
  * @param methodParams An object of parameters added to the request.
36
36
  * @param clientTransactionId Id sent with every request to distinguish your api requests in case you need support.
37
37
  * @param language Language for the API request. Default is value of field language.
38
+ * @param cacheOption HTTP cache options
39
+ * @param nextjsOptions Next.js options
38
40
  */
39
41
  public async callApi(
40
42
  apiMethod: string,
41
43
  methodParams: any = {},
42
44
  clientTransactionId: string = ApiClient.generateClientTransactionId(),
43
45
  language: string = this.language,
46
+ cacheOption?: "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached" | "default",
47
+ nextjsOptions?: object
44
48
  ): Promise<any> {
45
49
  if ('clTRID'! in methodParams && clientTransactionId !== null) {
46
50
  methodParams.clTRID = clientTransactionId;
@@ -54,7 +58,7 @@ export class ApiClient {
54
58
  params: methodParams,
55
59
  });
56
60
 
57
- const response = await fetch(this.apiUrl, {
61
+ let fetchOption = {
58
62
  method: 'POST',
59
63
  headers: new Headers({
60
64
  'Content-Type': 'application/json',
@@ -62,7 +66,14 @@ export class ApiClient {
62
66
  'User-Agent': `DomRobot/${ApiClient.CLIENT_VERSION} (Node ${process.version})`,
63
67
  }),
64
68
  body: requestBody,
65
- });
69
+ cache: cacheOption ?? "default",
70
+ };
71
+
72
+ if (nextjsOptions !== undefined) {
73
+ fetchOption = {...fetchOption, ...nextjsOptions};
74
+ }
75
+
76
+ const response = await fetch(this.apiUrl, fetchOption);
66
77
 
67
78
  if (apiMethod === 'account.login') {
68
79
  this.cookie = response.headers.get('set-cookie');
@@ -71,7 +82,7 @@ export class ApiClient {
71
82
  const data = await response.json()
72
83
  if (this.debugMode) {
73
84
  console.info(`Request (${apiMethod}): ${requestBody}`);
74
- console.info(`Response (${apiMethod}): ${data}`);
85
+ console.info(`Response (${apiMethod}): ${JSON.stringify(data)}`);
75
86
  }
76
87
 
77
88
  return data;
@@ -126,6 +137,10 @@ export class ApiClient {
126
137
  public setDebugMode(value: boolean) {
127
138
  this.debugMode = value;
128
139
  }
140
+
141
+ public getCookie(): string {
142
+ return this.cookie;
143
+ }
129
144
  }
130
145
 
131
146
  /**