mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-15 11:51:30 +00:00
Merge pull request #5384 from pooja-bruno/move/common-cookie-file-in-buno-request-package
This commit is contained in:
89
package-lock.json
generated
89
package-lock.json
generated
@@ -11682,7 +11682,6 @@
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz",
|
||||
"integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-regexp": "^3.0.0"
|
||||
},
|
||||
@@ -11697,7 +11696,6 @@
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz",
|
||||
"integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
@@ -12141,7 +12139,6 @@
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz",
|
||||
"integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
@@ -15749,7 +15746,6 @@
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz",
|
||||
"integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=14.16"
|
||||
},
|
||||
@@ -17125,6 +17121,17 @@
|
||||
"node": ">= 12"
|
||||
}
|
||||
},
|
||||
"node_modules/ip-regex": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
|
||||
"integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
@@ -17378,6 +17385,21 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-ip": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz",
|
||||
"integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==",
|
||||
"dependencies": {
|
||||
"ip-regex": "^5.0.0",
|
||||
"super-regex": "^0.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-lambda": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
|
||||
@@ -26529,7 +26551,6 @@
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz",
|
||||
"integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"clone-regexp": "^3.0.0",
|
||||
"function-timeout": "^0.1.0",
|
||||
@@ -27078,7 +27099,6 @@
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz",
|
||||
"integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"convert-hrtime": "^5.0.0"
|
||||
},
|
||||
@@ -31303,9 +31323,6 @@
|
||||
"name": "@usebruno/common",
|
||||
"version": "0.1.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"tough-cookie": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.26.9",
|
||||
"@babel/preset-typescript": "^7.27.0",
|
||||
@@ -31837,34 +31854,6 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"packages/bruno-common/node_modules/ip-regex": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
|
||||
"integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"packages/bruno-common/node_modules/is-ip": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz",
|
||||
"integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ip-regex": "^5.0.0",
|
||||
"super-regex": "^0.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"packages/bruno-common/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
@@ -31872,17 +31861,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"packages/bruno-common/node_modules/tough-cookie": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
|
||||
"integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
|
||||
"dependencies": {
|
||||
"tldts": "^7.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"packages/bruno-common/node_modules/typescript": {
|
||||
"version": "5.8.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||
@@ -33403,7 +33381,9 @@
|
||||
"@grpc/proto-loader": "^0.7.15",
|
||||
"@types/qs": "^6.9.18",
|
||||
"axios": "^1.9.0",
|
||||
"grpc-reflection-js": "^0.3.0"
|
||||
"grpc-reflection-js": "^0.3.0",
|
||||
"is-ip": "^5.0.1",
|
||||
"tough-cookie": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.22.0",
|
||||
@@ -33451,6 +33431,17 @@
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"packages/bruno-requests/node_modules/tough-cookie": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
|
||||
"integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
|
||||
"dependencies": {
|
||||
"tldts": "^7.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"packages/bruno-schema": {
|
||||
"name": "@usebruno/schema",
|
||||
"version": "0.7.0",
|
||||
|
||||
@@ -1 +1 @@
|
||||
module.exports = require('@usebruno/common').cookies;
|
||||
module.exports = require('@usebruno/requests').cookies;
|
||||
|
||||
@@ -56,8 +56,5 @@
|
||||
},
|
||||
"overrides": {
|
||||
"rollup": "3.29.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"tough-cookie": "^6.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
export { mockDataFunctions } from './utils/faker-functions';
|
||||
export { default as interpolate } from './interpolate';
|
||||
export { default as isRequestTagsIncluded } from './tags';
|
||||
export { default as cookies } from './cookies';
|
||||
|
||||
export * as utils from './utils';
|
||||
@@ -2,8 +2,4 @@ export {
|
||||
encodeUrl,
|
||||
parseQueryParams,
|
||||
buildQueryString,
|
||||
} from './url';
|
||||
|
||||
export {
|
||||
isPotentiallyTrustworthyOrigin
|
||||
} from './url/validation';
|
||||
} from './url';
|
||||
@@ -1,5 +1,5 @@
|
||||
const Store = require('electron-store');
|
||||
const { cookies: cookiesModule } = require('@usebruno/common');
|
||||
const { cookies: cookiesModule } = require('@usebruno/requests');
|
||||
const { cookieJar } = cookiesModule;
|
||||
const { Cookie } = require('tough-cookie');
|
||||
const { createCookieString } = cookiesModule;
|
||||
|
||||
@@ -1 +1 @@
|
||||
module.exports = require('@usebruno/common').cookies;
|
||||
module.exports = require('@usebruno/requests').cookies;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const { cloneDeep } = require('lodash');
|
||||
const { interpolate: _interpolate } = require('@usebruno/common');
|
||||
const { sendRequest } = require('@usebruno/requests').scripting;
|
||||
const { jar: createCookieJar } = require('@usebruno/common').cookies;
|
||||
const { jar: createCookieJar } = require('@usebruno/requests').cookies;
|
||||
|
||||
const variableNameRegex = /^[\w-.]*$/;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ module.exports = {
|
||||
'^.+\\.(ts|js)$': 'babel-jest',
|
||||
},
|
||||
transformIgnorePatterns: [
|
||||
'/node_modules/(?!(lodash-es)/)',
|
||||
'/node_modules/(?!(lodash-es|is-ip|ip-regex|super-regex|function-timeout|time-span|convert-hrtime|clone-regexp|is-regexp)/)'
|
||||
],
|
||||
testEnvironment: 'node',
|
||||
testMatch: [
|
||||
|
||||
@@ -24,8 +24,10 @@
|
||||
"@grpc/grpc-js": "^1.13.3",
|
||||
"@grpc/proto-loader": "^0.7.15",
|
||||
"@types/qs": "^6.9.18",
|
||||
"axios": "^1.9.0",
|
||||
"grpc-reflection-js": "^0.3.0",
|
||||
"axios": "^1.9.0"
|
||||
"is-ip": "^5.0.1",
|
||||
"tough-cookie": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.22.0",
|
||||
@@ -37,8 +39,8 @@
|
||||
"@rollup/plugin-typescript": "^9.0.2",
|
||||
"@types/jest": "^29.5.11",
|
||||
"babel-jest": "^29.7.0",
|
||||
"jest": "^29.2.0",
|
||||
"builtin-modules": "^5.0.0",
|
||||
"jest": "^29.2.0",
|
||||
"rollup": "3.29.5",
|
||||
"rollup-plugin-dts": "^5.0.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.4",
|
||||
@@ -48,4 +50,4 @@
|
||||
"overrides": {
|
||||
"rollup": "3.29.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
const cookiesModule = require('../../src/cookies/index.ts').default;
|
||||
import cookiesModule from './index';
|
||||
import { Cookie } from 'tough-cookie';
|
||||
|
||||
// Provide explicit type for the cookie-jar wrapper returned by cookiesModule.jar()
|
||||
type CookieJarWrapper = ReturnType<typeof cookiesModule.jar>;
|
||||
|
||||
const jarFactory = (): CookieJarWrapper => cookiesModule.jar();
|
||||
|
||||
describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
let jar;
|
||||
let jar: CookieJarWrapper;
|
||||
const testUrl = 'https://api.example.com';
|
||||
|
||||
beforeEach(() => {
|
||||
jar = cookiesModule.jar();
|
||||
jar = jarFactory();
|
||||
// Clear all cookies before each test
|
||||
jar.clear();
|
||||
});
|
||||
@@ -19,7 +25,7 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookie(testUrl, cookieName, cookieValue);
|
||||
|
||||
// Get the cookie back
|
||||
const cookie = await jar.getCookie(testUrl, cookieName);
|
||||
const cookie = (await jar.getCookie(testUrl, cookieName))!;
|
||||
expect(cookie.key).toBe(cookieName);
|
||||
expect(cookie.value).toBe(cookieValue);
|
||||
expect(cookie.domain).toBe('api.example.com');
|
||||
@@ -36,7 +42,7 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
|
||||
await jar.setCookie(testUrl, cookieObj);
|
||||
|
||||
const cookie = await jar.getCookie(testUrl + '/api', 'sessionId');
|
||||
const cookie = (await jar.getCookie(testUrl + '/api', 'sessionId'))!;
|
||||
expect(cookie.key).toBe('sessionId');
|
||||
expect(cookie.value).toBe('abc123');
|
||||
expect(cookie.path).toBe('/api');
|
||||
@@ -61,10 +67,10 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookies(testUrl, cookies);
|
||||
|
||||
// Verify all cookies were set
|
||||
const retrievedCookies = await jar.getCookies(testUrl);
|
||||
const retrievedCookies = (await jar.getCookies(testUrl)) as Cookie[];
|
||||
expect(retrievedCookies).toHaveLength(3);
|
||||
|
||||
const cookieNames = retrievedCookies.map(c => c.key);
|
||||
const cookieNames = retrievedCookies.map((c: Cookie) => c.key);
|
||||
expect(cookieNames).toContain('cookie1');
|
||||
expect(cookieNames).toContain('cookie2');
|
||||
expect(cookieNames).toContain('cookie3');
|
||||
@@ -76,13 +82,13 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookie(testUrl, 'session', 'sess456');
|
||||
await jar.setCookie(testUrl, 'prefs', 'theme=dark');
|
||||
|
||||
const cookies = await jar.getCookies(testUrl);
|
||||
const cookies = (await jar.getCookies(testUrl)) as Cookie[];
|
||||
expect(cookies).toHaveLength(3);
|
||||
|
||||
const cookieMap = cookies.reduce((map, cookie) => {
|
||||
const cookieMap = (cookies as Cookie[]).reduce<Record<string, string>>((map, cookie: Cookie) => {
|
||||
map[cookie.key] = cookie.value;
|
||||
return map;
|
||||
}, {});
|
||||
}, {} as Record<string, string>);
|
||||
|
||||
expect(cookieMap.auth).toBe('token123');
|
||||
expect(cookieMap.session).toBe('sess456');
|
||||
@@ -100,10 +106,10 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.deleteCookie(testUrl, 'remove');
|
||||
|
||||
// Verify only one cookie remains
|
||||
const cookies = await jar.getCookies(testUrl);
|
||||
const cookies = (await jar.getCookies(testUrl)) as Cookie[];
|
||||
expect(cookies).toHaveLength(1);
|
||||
expect(cookies[0].key).toBe('keep');
|
||||
expect(cookies[0].value).toBe('keepValue');
|
||||
expect(cookies[0]!.key).toBe('keep');
|
||||
expect(cookies[0]!.value).toBe('keepValue');
|
||||
});
|
||||
|
||||
test('deleteCookies removes all cookies for URL', async () => {
|
||||
@@ -115,7 +121,7 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.deleteCookies(testUrl);
|
||||
|
||||
// Verify no cookies remain
|
||||
const cookies = await jar.getCookies(testUrl);
|
||||
const cookies = (await jar.getCookies(testUrl)) as Cookie[];
|
||||
expect(cookies).toHaveLength(0);
|
||||
});
|
||||
|
||||
@@ -128,8 +134,8 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.clear();
|
||||
|
||||
// Verify no cookies remain for any URL
|
||||
const cookies1 = await jar.getCookies('https://site1.com');
|
||||
const cookies2 = await jar.getCookies('https://site2.com');
|
||||
const cookies1 = (await jar.getCookies('https://site1.com')) as Cookie[];
|
||||
const cookies2 = (await jar.getCookies('https://site2.com')) as Cookie[];
|
||||
|
||||
expect(cookies1).toHaveLength(0);
|
||||
expect(cookies2).toHaveLength(0);
|
||||
@@ -146,7 +152,7 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
});
|
||||
|
||||
test('setCookies handles invalid input', async () => {
|
||||
await expect(jar.setCookies(testUrl, 'not-an-array')).rejects.toThrow('expects an array');
|
||||
await expect(jar.setCookies(testUrl, 'not-an-array' as any)).rejects.toThrow('expects an array');
|
||||
});
|
||||
|
||||
test('setCookie handles missing cookie name in object', async () => {
|
||||
@@ -163,7 +169,7 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookie(apiUrl, 'authToken', authToken);
|
||||
|
||||
// Later in the session - retrieve auth token
|
||||
const cookie = await jar.getCookie(apiUrl, 'authToken');
|
||||
const cookie = (await jar.getCookie(apiUrl, 'authToken'))!;
|
||||
expect(cookie.value).toBe(authToken);
|
||||
|
||||
// Simulate logout - remove auth cookie
|
||||
@@ -187,13 +193,13 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookies(sessionUrl, sessionCookies);
|
||||
|
||||
// Retrieve all session cookies
|
||||
const cookies = await jar.getCookies(sessionUrl);
|
||||
const cookies = (await jar.getCookies(sessionUrl)) as Cookie[];
|
||||
expect(cookies).toHaveLength(3);
|
||||
|
||||
// Find specific cookies
|
||||
const sessionCookie = cookies.find(c => c.key === 'sessionId');
|
||||
const csrfCookie = cookies.find(c => c.key === 'csrfToken');
|
||||
const prefsCookie = cookies.find(c => c.key === 'userPrefs');
|
||||
const sessionCookie = cookies.find((c: Cookie) => c.key === 'sessionId')!;
|
||||
const csrfCookie = cookies.find((c: Cookie) => c.key === 'csrfToken')!;
|
||||
const prefsCookie = cookies.find((c: Cookie) => c.key === 'userPrefs')!;
|
||||
|
||||
expect(sessionCookie.value).toBe('sess_123');
|
||||
expect(sessionCookie.httpOnly).toBe(true);
|
||||
@@ -212,15 +218,15 @@ describe('Bruno Cookie Jar Wrapper - API Examples', () => {
|
||||
await jar.setCookie(baseUrl, { key: 'api', value: 'api_val', path: '/api' });
|
||||
await jar.setCookie(baseUrl, { key: 'admin', value: 'admin_val', path: '/admin' });
|
||||
|
||||
const rootCookies = await jar.getCookies(baseUrl + '/');
|
||||
const globalCookie = rootCookies.find(c => c.key === 'global');
|
||||
const rootCookies = (await jar.getCookies(baseUrl + '/')) as Cookie[];
|
||||
const globalCookie = rootCookies.find((c: Cookie) => c.key === 'global')!;
|
||||
expect(globalCookie).toBeTruthy();
|
||||
expect(globalCookie.value).toBe('global_val');
|
||||
|
||||
const apiCookies = await jar.getCookies(baseUrl + '/api/users');
|
||||
const apiCookies = (await jar.getCookies(baseUrl + '/api/users')) as Cookie[];
|
||||
expect(apiCookies.length).toBeGreaterThanOrEqual(2);
|
||||
|
||||
const apiCookieNames = apiCookies.map(c => c.key);
|
||||
const apiCookieNames = apiCookies.map((c: Cookie) => c.key);
|
||||
expect(apiCookieNames).toContain('global');
|
||||
expect(apiCookieNames).toContain('api');
|
||||
});
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Cookie, CookieJar } from 'tough-cookie';
|
||||
import each from 'lodash/each';
|
||||
import moment from 'moment';
|
||||
import { isPotentiallyTrustworthyOrigin } from '../utils';
|
||||
import { isPotentiallyTrustworthyOrigin } from '../utils/url-validation';
|
||||
|
||||
const cookieJar = new CookieJar();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export { addDigestInterceptor, getOAuth2Token } from './auth';
|
||||
export { GrpcClient, generateGrpcSampleMessage } from './grpc';
|
||||
export { default as cookies } from './cookies';
|
||||
|
||||
export * as network from './network';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { isPotentiallyTrustworthyOrigin } from './validation';
|
||||
import { isPotentiallyTrustworthyOrigin } from './url-validation';
|
||||
|
||||
describe('isPotentiallyTrustworthyOrigin', () => {
|
||||
describe('secure schemes', () => {
|
||||
Reference in New Issue
Block a user