@cinerino/sdk 18.1.0-alpha.6 → 18.1.0-alpha.7

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.
@@ -9,14 +9,23 @@ exports.StubTransporter = exports.DefaultTransporter = exports.RequestError = ex
9
9
  */
10
10
  const debug_1 = __importDefault(require("debug"));
11
11
  const debug = (0, debug_1.default)('cinerino-sdk:transporters');
12
- let version = 'unknown';
12
+ let packageInfo = { name: 'unknown', version: 'unknown' };
13
13
  try {
14
- const pkg = require('../../package.json'); // eslint-disable-line @typescript-eslint/no-require-imports
15
- version = pkg.version;
14
+ packageInfo = require('../../package.json'); // eslint-disable-line @typescript-eslint/no-require-imports
16
15
  }
17
16
  catch {
18
17
  // 万が一ビルド後の配置で package.json が読めない場合のフォールバック
19
18
  }
19
+ // 存在する環境変数のみを配列で抽出し、半角スペースで結合する
20
+ // process が未定義のブラウザ環境でも ReferenceError にならないよう安全に参照する
21
+ /* istanbul ignore next */
22
+ const gaeEnvParts = [
23
+ typeof process !== 'undefined' ? process.env.GAE_APPLICATION : undefined,
24
+ typeof process !== 'undefined' ? process.env.GAE_SERVICE : undefined,
25
+ typeof process !== 'undefined' ? process.env.GAE_VERSION : undefined,
26
+ ].filter((val) => typeof val === 'string' && val.trim().length > 0);
27
+ // GAE情報とパッケージ情報を結合
28
+ const defaultUserAgentHeader4node = [...gaeEnvParts, `${packageInfo.name}/${packageInfo.version}`].join(' ');
20
29
  /**
21
30
  * トランスポーター抽象クラス
22
31
  */
@@ -42,7 +51,7 @@ class DefaultTransporter {
42
51
  /**
43
52
  * Default user agent.
44
53
  */
45
- static USER_AGENT = `@cinerino/sdk/${version}`;
54
+ static USER_AGENT = defaultUserAgentHeader4node;
46
55
  expectedStatusCodes;
47
56
  constructor(expectedStatusCodes) {
48
57
  this.expectedStatusCodes = expectedStatusCodes;