Removal of node-fetch, updates all functions accordingly, use of custom chromium driver for netlify support, plus update of all older packages

This commit is contained in:
Alicia Sykes
2023-07-22 15:18:28 +01:00
parent 38fb1a1d4b
commit dd0be7ed05
10 changed files with 713 additions and 808 deletions

View File

@@ -140,20 +140,24 @@ export type Cookie = {
attributes: Record<string, string>;
};
export const parseCookies = (cookiesHeader: string): {cookies: Cookie[]} => {
if (!cookiesHeader) return {cookies: []};
const cookies = cookiesHeader.split(/,(?=\s[A-Za-z0-9]+=)/).map(cookieString => {
const [nameValuePair, ...attributePairs] = cookieString.split('; ').map(part => part.trim());
const [name, value] = nameValuePair.split('=');
const attributes: Record<string, string> = {};
attributePairs.forEach(pair => {
const [attributeName, attributeValue = ''] = pair.split('=');
attributes[attributeName] = attributeValue;
export const parseCookies = (cookiesHeader: string[]): {cookies: Cookie[]} => {
if (!cookiesHeader || !cookiesHeader.length) return {cookies: []};
const cookies = cookiesHeader.flatMap(cookieHeader => {
return cookieHeader.split(/,(?=\s[A-Za-z0-9]+=)/).map(cookieString => {
const [nameValuePair, ...attributePairs] = cookieString.split('; ').map(part => part.trim());
const [name, value] = nameValuePair.split('=');
const attributes: Record<string, string> = {};
attributePairs.forEach(pair => {
const [attributeName, attributeValue = ''] = pair.split('=');
attributes[attributeName] = attributeValue;
});
return { name, value, attributes };
});
return { name, value, attributes };
});
return { cookies }
}
return { cookies };
};
export const parseRobotsTxt = (content: string): { robots: RowProps[] } => {
const lines = content.split('\n');