@contrail/flexplm 1.7.7-alpha.01fb300 → 1.7.7-alpha.1ad98c2

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.
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlexPLMConnect = void 0;
4
4
  const app_framework_1 = require("@contrail/app-framework");
5
- // Module-level on purpose: a new FlexPLMConnect is constructed for every event. Declaring for Session reusing use case.
5
+ // Module-level on purpose: a new FlexPLMConnect is constructed for every event. Declaring for Session resuing use case.
6
6
  const sessionCache = new Map();
7
7
  // Added for Session reuse - ET-390 - Ends
8
8
  class FlexPLMConnect {
@@ -41,6 +41,7 @@ class FlexPLMConnect {
41
41
  const cfg = this.config ?? {};
42
42
  const sessReuseEntries = (name) => cfg[`flexplmConnect.sessionReuse.${name}`];
43
43
  const enabled = sessReuseEntries('enabled');
44
+ console.info('sessionReuse.enabled value is --> ' + enabled);
44
45
  return {
45
46
  enabled: enabled === true || String(enabled).toLowerCase() === 'true',
46
47
  ttlMs: (sessReuseEntries('ttlSeconds') ?? 900) * 1000,
@@ -62,10 +63,12 @@ class FlexPLMConnect {
62
63
  sessionCache.delete(key);
63
64
  return undefined;
64
65
  }
66
+ console.info('cachedSessValue.cookie: ' + cachedSessValue.cookie);
65
67
  return cachedSessValue.cookie;
66
68
  }
67
69
  storeSession(cookie) {
68
70
  // sliding expiry: Windchill's session timeout is also sliding
71
+ console.info('cookie: ' + cookie);
69
72
  sessionCache.set(this.getSessionKey(), { cookie, expiresAt: Date.now() + this.sessionOptions.ttlMs });
70
73
  }
71
74
  clearSession() {
@@ -74,6 +77,7 @@ class FlexPLMConnect {
74
77
  /** Returns the session cookie value Windchill issued on this response, if any (last one wins). */
75
78
  extractSessionCookie(response) {
76
79
  const respHeader = response?.headers;
80
+ console.info('respHeader: ' + respHeader);
77
81
  if (!respHeader)
78
82
  return undefined;
79
83
  let raw = [];
@@ -93,6 +97,7 @@ class FlexPLMConnect {
93
97
  cookieNameMatcher = regexFilter.exec(line);
94
98
  }
95
99
  }
100
+ console.info('jSession: ' + jSession);
96
101
  return jSession;
97
102
  }
98
103
  cookieHeader(sessionCookie) {
@@ -119,6 +124,7 @@ class FlexPLMConnect {
119
124
  }
120
125
  // Added for Session reuse - ET-390 - Starts
121
126
  const cookie = this.cookieHeader(sessionCookie);
127
+ console.info('sessionReuse--cookie --> ' + cookie);
122
128
  if (cookie) {
123
129
  csrfOptions.headers['Cookie'] = cookie;
124
130
  }
@@ -132,6 +138,7 @@ class FlexPLMConnect {
132
138
  // Added for Session reuse - ET-390 - Ends
133
139
  console.info('csrfOptions: ' + JSON.stringify(logOptions));
134
140
  }
141
+ console.info('csrfOptions --> ' + csrfOptions);
135
142
  return csrfOptions;
136
143
  }
137
144
  /////////////////////////////////////////////////////////////////////////////
@@ -152,6 +159,7 @@ class FlexPLMConnect {
152
159
  const csrfOptions = this.getRequestOptions('GET', sentCookie);
153
160
  // Added for Session reuse - ET-390 - Ends
154
161
  let response = await fetch(csrfURL, csrfOptions);
162
+ console.info('response.status: ' + response.status);
155
163
  // Added for Session reuse - ET-390 - Starts
156
164
  // if the response status is 401 or 403, then get a new session id
157
165
  if (sentCookie && this.sessionOptions.retryStatuses.includes(response.status)) {
@@ -182,7 +190,9 @@ class FlexPLMConnect {
182
190
  const body = await response.json();
183
191
  const nonce_key = body.items[0].attributes.nonce_key;
184
192
  const nonce = body.items[0].attributes.nonce;
185
- // ET-390 - adding sessionCookie to the return
193
+ console.info('nonce_key: ' + nonce_key);
194
+ console.info('sessionCookie: ' + sessionCookie);
195
+ //ET-390 - adding sessionCookie to the return
186
196
  return {
187
197
  nonce_key,
188
198
  nonce,
@@ -311,6 +321,8 @@ class FlexPLMConnect {
311
321
  this.storeSession(cachedCookie);
312
322
  }
313
323
  // Added for Session reuse - ET-390 - Ends
324
+ console.info('if loop entry 1: ' + this.sessionOptions.retryStatuses.includes(response.status));
325
+ console.info('response.status1: ' + response.status);
314
326
  if (response.status >= 300) {
315
327
  const message = 'Error connecting to FlexPLM:status: ' + response.status;
316
328
  console.error(message);
@@ -39,12 +39,7 @@ const resp = (status, setCookie = [], json = csrfBody) => ({
39
39
  });
40
40
  let userCounter = 0;
41
41
  const uniqueUser = () => 'sess-user-' + (++userCounter);
42
- // The connector config is flat: keys look like 'flexplmConnect.sessionReuse.enabled'
43
- const sessionConfig = (user, sessionReuse = { enabled: true }) => {
44
- const flat = {};
45
- Object.entries(sessionReuse).forEach(([k, v]) => { flat[`flexplmConnect.sessionReuse.${k}`] = v; });
46
- return createConfig({ userName: () => user, ...flat });
47
- };
42
+ const sessionConfig = (user, sessionReuse = { enabled: true }) => createConfig({ userName: () => user, flexplmConnect: { sessionReuse } });
48
43
  const fetchMock = () => global.fetch;
49
44
  const callHeaders = (i) => fetchMock().mock.calls[i][1].headers;
50
45
  const callMethod = (i) => fetchMock().mock.calls[i][1].method;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/flexplm",
3
- "version": "1.7.7-alpha.01fb300",
3
+ "version": "1.7.7-alpha.1ad98c2",
4
4
  "description": "Library used for integration with flexplm.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",