@studentsphere/linkgor 0.0.1-alpha → 0.0.2-alpha
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/index.js +36 -19
- package/dist/index.mjs +36 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -185,11 +185,15 @@ async function getProfile(instanceId, token) {
|
|
|
185
185
|
throw new Error(`Failed to parse cookie jar token: ${e}`);
|
|
186
186
|
}
|
|
187
187
|
const casUrl = getCASURL(instanceId);
|
|
188
|
+
const cookieHeader = serializeCookies(jar, casUrl);
|
|
189
|
+
const headers = {
|
|
190
|
+
"User-Agent": "linkgor"
|
|
191
|
+
};
|
|
192
|
+
if (cookieHeader) {
|
|
193
|
+
headers["Cookie"] = cookieHeader;
|
|
194
|
+
}
|
|
188
195
|
const response = await fetch(casUrl, {
|
|
189
|
-
headers
|
|
190
|
-
"User-Agent": "linkgor",
|
|
191
|
-
Cookie: serializeCookies(jar, casUrl)
|
|
192
|
-
}
|
|
196
|
+
headers
|
|
193
197
|
});
|
|
194
198
|
if (!response.ok) {
|
|
195
199
|
throw new Error(
|
|
@@ -234,7 +238,8 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
234
238
|
const getRes = await fetch(currentUrl, {
|
|
235
239
|
headers: { "User-Agent": "wigor-papillon" }
|
|
236
240
|
});
|
|
237
|
-
|
|
241
|
+
const initialCookies = getRes.headers.getSetCookie ? getRes.headers.getSetCookie() : getRes.headers.get("Set-Cookie") ? [getRes.headers.get("Set-Cookie")] : [];
|
|
242
|
+
updateCookies(jar, currentUrl, initialCookies);
|
|
238
243
|
const html = await getRes.text();
|
|
239
244
|
const extractHiddenFields = (htmlText) => {
|
|
240
245
|
const fields = {};
|
|
@@ -252,13 +257,17 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
252
257
|
if (k !== "username" && k !== "password") form.append(k, v);
|
|
253
258
|
}
|
|
254
259
|
if (!form.has("_eventId")) form.append("_eventId", "submit");
|
|
260
|
+
const initialCookieHeader = serializeCookies(jar, currentUrl);
|
|
261
|
+
const postHeaders = {
|
|
262
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
263
|
+
"User-Agent": "wigor-papillon"
|
|
264
|
+
};
|
|
265
|
+
if (initialCookieHeader) {
|
|
266
|
+
postHeaders["Cookie"] = initialCookieHeader;
|
|
267
|
+
}
|
|
255
268
|
let response = await fetch(currentUrl, {
|
|
256
269
|
method: "POST",
|
|
257
|
-
headers:
|
|
258
|
-
"Content-Type": "application/x-www-form-urlencoded",
|
|
259
|
-
"User-Agent": "wigor-papillon",
|
|
260
|
-
Cookie: serializeCookies(jar, currentUrl)
|
|
261
|
-
},
|
|
270
|
+
headers: postHeaders,
|
|
262
271
|
body: form.toString(),
|
|
263
272
|
redirect: "manual"
|
|
264
273
|
});
|
|
@@ -267,7 +276,8 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
267
276
|
const seenTickets = /* @__PURE__ */ new Set();
|
|
268
277
|
let followUrl = currentUrl;
|
|
269
278
|
while (true) {
|
|
270
|
-
|
|
279
|
+
const redirectCookies = response.headers.getSetCookie ? response.headers.getSetCookie() : response.headers.get("Set-Cookie") ? [response.headers.get("Set-Cookie")] : [];
|
|
280
|
+
updateCookies(jar, followUrl, redirectCookies);
|
|
271
281
|
if (response.status >= 300 && response.status < 400) {
|
|
272
282
|
let location = response.headers.get("location");
|
|
273
283
|
if (!location) break;
|
|
@@ -283,11 +293,14 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
283
293
|
}
|
|
284
294
|
followUrl = new URL(location, followUrl).toString();
|
|
285
295
|
const cookieHeader = serializeCookies(jar, followUrl);
|
|
296
|
+
const redirectHeaders = {
|
|
297
|
+
"User-Agent": "wigor-papillon"
|
|
298
|
+
};
|
|
299
|
+
if (cookieHeader) {
|
|
300
|
+
redirectHeaders["Cookie"] = cookieHeader;
|
|
301
|
+
}
|
|
286
302
|
response = await fetch(followUrl, {
|
|
287
|
-
headers:
|
|
288
|
-
"User-Agent": "wigor-papillon",
|
|
289
|
-
Cookie: cookieHeader
|
|
290
|
-
},
|
|
303
|
+
headers: redirectHeaders,
|
|
291
304
|
redirect: "manual"
|
|
292
305
|
});
|
|
293
306
|
redirectCount++;
|
|
@@ -339,11 +352,15 @@ async function getPlanning(instanceId, token) {
|
|
|
339
352
|
dateFin: to.toISOString()
|
|
340
353
|
});
|
|
341
354
|
const fullScheduleUrl = `${scheduleServer}?${params.toString()}`;
|
|
355
|
+
const scheduleCookieHeader = serializeCookies(jar, scheduleServer);
|
|
356
|
+
const scheduleHeaders = {
|
|
357
|
+
"User-Agent": "linkgor"
|
|
358
|
+
};
|
|
359
|
+
if (scheduleCookieHeader) {
|
|
360
|
+
scheduleHeaders["Cookie"] = scheduleCookieHeader;
|
|
361
|
+
}
|
|
342
362
|
const response = await fetch(fullScheduleUrl, {
|
|
343
|
-
headers:
|
|
344
|
-
"User-Agent": "linkgor",
|
|
345
|
-
Cookie: serializeCookies(jar, scheduleServer)
|
|
346
|
-
}
|
|
363
|
+
headers: scheduleHeaders
|
|
347
364
|
});
|
|
348
365
|
if (!response.ok || response.status === 302) {
|
|
349
366
|
const text = await response.text();
|
package/dist/index.mjs
CHANGED
|
@@ -153,11 +153,15 @@ async function getProfile(instanceId, token) {
|
|
|
153
153
|
throw new Error(`Failed to parse cookie jar token: ${e}`);
|
|
154
154
|
}
|
|
155
155
|
const casUrl = getCASURL(instanceId);
|
|
156
|
+
const cookieHeader = serializeCookies(jar, casUrl);
|
|
157
|
+
const headers = {
|
|
158
|
+
"User-Agent": "linkgor"
|
|
159
|
+
};
|
|
160
|
+
if (cookieHeader) {
|
|
161
|
+
headers["Cookie"] = cookieHeader;
|
|
162
|
+
}
|
|
156
163
|
const response = await fetch(casUrl, {
|
|
157
|
-
headers
|
|
158
|
-
"User-Agent": "linkgor",
|
|
159
|
-
Cookie: serializeCookies(jar, casUrl)
|
|
160
|
-
}
|
|
164
|
+
headers
|
|
161
165
|
});
|
|
162
166
|
if (!response.ok) {
|
|
163
167
|
throw new Error(
|
|
@@ -202,7 +206,8 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
202
206
|
const getRes = await fetch(currentUrl, {
|
|
203
207
|
headers: { "User-Agent": "wigor-papillon" }
|
|
204
208
|
});
|
|
205
|
-
|
|
209
|
+
const initialCookies = getRes.headers.getSetCookie ? getRes.headers.getSetCookie() : getRes.headers.get("Set-Cookie") ? [getRes.headers.get("Set-Cookie")] : [];
|
|
210
|
+
updateCookies(jar, currentUrl, initialCookies);
|
|
206
211
|
const html = await getRes.text();
|
|
207
212
|
const extractHiddenFields = (htmlText) => {
|
|
208
213
|
const fields = {};
|
|
@@ -220,13 +225,17 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
220
225
|
if (k !== "username" && k !== "password") form.append(k, v);
|
|
221
226
|
}
|
|
222
227
|
if (!form.has("_eventId")) form.append("_eventId", "submit");
|
|
228
|
+
const initialCookieHeader = serializeCookies(jar, currentUrl);
|
|
229
|
+
const postHeaders = {
|
|
230
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
231
|
+
"User-Agent": "wigor-papillon"
|
|
232
|
+
};
|
|
233
|
+
if (initialCookieHeader) {
|
|
234
|
+
postHeaders["Cookie"] = initialCookieHeader;
|
|
235
|
+
}
|
|
223
236
|
let response = await fetch(currentUrl, {
|
|
224
237
|
method: "POST",
|
|
225
|
-
headers:
|
|
226
|
-
"Content-Type": "application/x-www-form-urlencoded",
|
|
227
|
-
"User-Agent": "wigor-papillon",
|
|
228
|
-
Cookie: serializeCookies(jar, currentUrl)
|
|
229
|
-
},
|
|
238
|
+
headers: postHeaders,
|
|
230
239
|
body: form.toString(),
|
|
231
240
|
redirect: "manual"
|
|
232
241
|
});
|
|
@@ -235,7 +244,8 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
235
244
|
const seenTickets = /* @__PURE__ */ new Set();
|
|
236
245
|
let followUrl = currentUrl;
|
|
237
246
|
while (true) {
|
|
238
|
-
|
|
247
|
+
const redirectCookies = response.headers.getSetCookie ? response.headers.getSetCookie() : response.headers.get("Set-Cookie") ? [response.headers.get("Set-Cookie")] : [];
|
|
248
|
+
updateCookies(jar, followUrl, redirectCookies);
|
|
239
249
|
if (response.status >= 300 && response.status < 400) {
|
|
240
250
|
let location = response.headers.get("location");
|
|
241
251
|
if (!location) break;
|
|
@@ -251,11 +261,14 @@ async function loginWithCredentials(instanceId, username, password) {
|
|
|
251
261
|
}
|
|
252
262
|
followUrl = new URL(location, followUrl).toString();
|
|
253
263
|
const cookieHeader = serializeCookies(jar, followUrl);
|
|
264
|
+
const redirectHeaders = {
|
|
265
|
+
"User-Agent": "wigor-papillon"
|
|
266
|
+
};
|
|
267
|
+
if (cookieHeader) {
|
|
268
|
+
redirectHeaders["Cookie"] = cookieHeader;
|
|
269
|
+
}
|
|
254
270
|
response = await fetch(followUrl, {
|
|
255
|
-
headers:
|
|
256
|
-
"User-Agent": "wigor-papillon",
|
|
257
|
-
Cookie: cookieHeader
|
|
258
|
-
},
|
|
271
|
+
headers: redirectHeaders,
|
|
259
272
|
redirect: "manual"
|
|
260
273
|
});
|
|
261
274
|
redirectCount++;
|
|
@@ -307,11 +320,15 @@ async function getPlanning(instanceId, token) {
|
|
|
307
320
|
dateFin: to.toISOString()
|
|
308
321
|
});
|
|
309
322
|
const fullScheduleUrl = `${scheduleServer}?${params.toString()}`;
|
|
323
|
+
const scheduleCookieHeader = serializeCookies(jar, scheduleServer);
|
|
324
|
+
const scheduleHeaders = {
|
|
325
|
+
"User-Agent": "linkgor"
|
|
326
|
+
};
|
|
327
|
+
if (scheduleCookieHeader) {
|
|
328
|
+
scheduleHeaders["Cookie"] = scheduleCookieHeader;
|
|
329
|
+
}
|
|
310
330
|
const response = await fetch(fullScheduleUrl, {
|
|
311
|
-
headers:
|
|
312
|
-
"User-Agent": "linkgor",
|
|
313
|
-
Cookie: serializeCookies(jar, scheduleServer)
|
|
314
|
-
}
|
|
331
|
+
headers: scheduleHeaders
|
|
315
332
|
});
|
|
316
333
|
if (!response.ok || response.status === 302) {
|
|
317
334
|
const text = await response.text();
|
package/package.json
CHANGED