@fuman/fetch 0.0.13 → 0.1.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/addons/tough-cookie.d.cts +7 -3
- package/addons/tough-cookie.d.ts +7 -3
- package/package.json +2 -2
- package/tough.cjs +12 -5
- package/tough.js +12 -5
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { CookieJar } from 'tough-cookie';
|
|
1
|
+
import { CookieJar, GetCookiesOptions, SetCookieOptions } from 'tough-cookie';
|
|
2
2
|
import { FfetchAddon } from './types.js';
|
|
3
3
|
export interface FfetchToughCookieAddon {
|
|
4
|
-
/** cookie jar to use */
|
|
5
|
-
cookies?: CookieJar
|
|
4
|
+
/** cookie jar to use, or extended config */
|
|
5
|
+
cookies?: CookieJar | {
|
|
6
|
+
jar: CookieJar;
|
|
7
|
+
getCookiesOptions?: GetCookiesOptions;
|
|
8
|
+
setCookieOptions?: SetCookieOptions;
|
|
9
|
+
};
|
|
6
10
|
}
|
|
7
11
|
export declare function toughCookieAddon(): FfetchAddon<FfetchToughCookieAddon, object>;
|
package/addons/tough-cookie.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { CookieJar } from 'tough-cookie';
|
|
1
|
+
import { CookieJar, GetCookiesOptions, SetCookieOptions } from 'tough-cookie';
|
|
2
2
|
import { FfetchAddon } from './types.js';
|
|
3
3
|
export interface FfetchToughCookieAddon {
|
|
4
|
-
/** cookie jar to use */
|
|
5
|
-
cookies?: CookieJar
|
|
4
|
+
/** cookie jar to use, or extended config */
|
|
5
|
+
cookies?: CookieJar | {
|
|
6
|
+
jar: CookieJar;
|
|
7
|
+
getCookiesOptions?: GetCookiesOptions;
|
|
8
|
+
setCookieOptions?: SetCookieOptions;
|
|
9
|
+
};
|
|
6
10
|
}
|
|
7
11
|
export declare function toughCookieAddon(): FfetchAddon<FfetchToughCookieAddon, object>;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuman/fetch",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"description": "tiny wrapper over fetch",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@fuman/utils": "^0.0.
|
|
8
|
+
"@fuman/utils": "^0.0.14"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
11
|
"@badrap/valita": ">=0.4.0",
|
package/tough.cjs
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
function cookieJarMiddleware(
|
|
3
|
+
function cookieJarMiddleware({
|
|
4
|
+
jar,
|
|
5
|
+
getCookiesOptions,
|
|
6
|
+
setCookieOptions = { ignoreError: true }
|
|
7
|
+
}) {
|
|
4
8
|
return async (ctx, next) => {
|
|
5
|
-
ctx.headers.append("Cookie", await jar.getCookieString(ctx.url));
|
|
9
|
+
ctx.headers.append("Cookie", await jar.getCookieString(ctx.url, getCookiesOptions));
|
|
6
10
|
const res = await next(ctx);
|
|
7
11
|
for (const header of res.headers.getSetCookie()) {
|
|
8
|
-
await jar.setCookie(header, res.url);
|
|
12
|
+
await jar.setCookie(header, res.url, setCookieOptions);
|
|
9
13
|
}
|
|
10
14
|
return res;
|
|
11
15
|
};
|
|
@@ -14,9 +18,12 @@ function toughCookieAddon() {
|
|
|
14
18
|
return {
|
|
15
19
|
beforeRequest(ctx) {
|
|
16
20
|
if (ctx.options.cookies != null || ctx.baseOptions.cookies != null) {
|
|
17
|
-
|
|
21
|
+
let cfg = ctx.options.cookies ?? ctx.baseOptions.cookies;
|
|
22
|
+
if (!("jar" in cfg)) {
|
|
23
|
+
cfg = { jar: cfg };
|
|
24
|
+
}
|
|
18
25
|
ctx.options.middlewares ??= [];
|
|
19
|
-
ctx.options.middlewares.push(cookieJarMiddleware(
|
|
26
|
+
ctx.options.middlewares.push(cookieJarMiddleware(cfg));
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
29
|
};
|
package/tough.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
function cookieJarMiddleware(
|
|
1
|
+
function cookieJarMiddleware({
|
|
2
|
+
jar,
|
|
3
|
+
getCookiesOptions,
|
|
4
|
+
setCookieOptions = { ignoreError: true }
|
|
5
|
+
}) {
|
|
2
6
|
return async (ctx, next) => {
|
|
3
|
-
ctx.headers.append("Cookie", await jar.getCookieString(ctx.url));
|
|
7
|
+
ctx.headers.append("Cookie", await jar.getCookieString(ctx.url, getCookiesOptions));
|
|
4
8
|
const res = await next(ctx);
|
|
5
9
|
for (const header of res.headers.getSetCookie()) {
|
|
6
|
-
await jar.setCookie(header, res.url);
|
|
10
|
+
await jar.setCookie(header, res.url, setCookieOptions);
|
|
7
11
|
}
|
|
8
12
|
return res;
|
|
9
13
|
};
|
|
@@ -12,9 +16,12 @@ function toughCookieAddon() {
|
|
|
12
16
|
return {
|
|
13
17
|
beforeRequest(ctx) {
|
|
14
18
|
if (ctx.options.cookies != null || ctx.baseOptions.cookies != null) {
|
|
15
|
-
|
|
19
|
+
let cfg = ctx.options.cookies ?? ctx.baseOptions.cookies;
|
|
20
|
+
if (!("jar" in cfg)) {
|
|
21
|
+
cfg = { jar: cfg };
|
|
22
|
+
}
|
|
16
23
|
ctx.options.middlewares ??= [];
|
|
17
|
-
ctx.options.middlewares.push(cookieJarMiddleware(
|
|
24
|
+
ctx.options.middlewares.push(cookieJarMiddleware(cfg));
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
27
|
};
|