New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@crawly/browser

Package Overview
Dependencies
Maintainers
6
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@crawly/browser - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

17

dist/index.d.ts

@@ -5,5 +5,5 @@ export interface IHeader {

export interface IBrowser {
setHeaders(): void;
resetHeaders(): void;
getHeaders(): IHeader;
mergeHeaders(headers: IHeader, value: IHeader): IHeader;
mergeHeaders(value: IHeader): IHeader;
getRandomAccept(): string;

@@ -16,10 +16,9 @@ getRandomAcceptLanguage(): string;

private headers;
static readonly BASE_HEADERS: IHeader;
static readonly ACCEPT_VALUES: string[];
static readonly ACCEPT_LANGUAGE_VALUES: string[];
static readonly REFERER_VALUES: string[];
constructor();
setHeaders(): void;
readonly BASE_HEADERS: IHeader;
readonly ACCEPT_VALUES: string[];
readonly ACCEPT_LANGUAGE_VALUES: string[];
readonly REFERER_VALUES: string[];
resetHeaders(): void;
getHeaders(): IHeader;
mergeHeaders(headers: IHeader, value: IHeader): IHeader;
mergeHeaders(value: IHeader): IHeader;
getRandomAccept(): string;

@@ -26,0 +25,0 @@ getRandomAcceptLanguage(): string;

@@ -10,6 +10,32 @@ "use strict";

constructor() {
this.setHeaders();
this.BASE_HEADERS = {
Pragma: 'no-cache',
Connection: 'keep-alive',
'Accept-Encoding': 'gzip, deflate, br',
'Content-Type': 'application/json; charset=UTF-8',
'Cache-Control': 'no-cache',
'Upgrade-Insecure-Requests': 1,
'X-Requested-With': 'XMLHttpRequest',
};
this.ACCEPT_VALUES = [
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
];
this.ACCEPT_LANGUAGE_VALUES = [
'en-US,en;q=0.5',
'pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3',
'pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,fr;q=0.5',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,es;q=0.4',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,pt;q=0.6,fr;q=0.5,es;q=0.4',
];
this.REFERER_VALUES = [
'https://www.google.com',
'https://www.facebook.com',
'https://www.twitter.com',
];
}
setHeaders() {
this.headers = Browser.BASE_HEADERS;
resetHeaders() {
this.headers = Object.assign({}, this.BASE_HEADERS);
this.headers['Accept'] = this.getRandomAccept();

@@ -21,15 +47,19 @@ this.headers['Accept-Language'] = this.getRandomAcceptLanguage();

getHeaders() {
if (!this.headers) {
this.resetHeaders();
}
return Object.assign({}, this.headers);
}
mergeHeaders(headers, value) {
mergeHeaders(value) {
const headers = this.getHeaders();
return Object.assign({}, headers, value);
}
getRandomAccept() {
return lodash_1.sample(Browser.ACCEPT_VALUES);
return lodash_1.sample(this.ACCEPT_VALUES);
}
getRandomAcceptLanguage() {
return lodash_1.sample(Browser.ACCEPT_LANGUAGE_VALUES);
return lodash_1.sample(this.ACCEPT_LANGUAGE_VALUES);
}
getRandomReferer() {
return lodash_1.sample(Browser.REFERER_VALUES);
return lodash_1.sample(this.REFERER_VALUES);
}

@@ -41,28 +71,2 @@ getRandomUserAgent() {

}
Browser.BASE_HEADERS = {
Pragma: 'no-cache',
Connection: 'keep-alive',
'Accept-Encoding': 'gzip, deflate, br',
'Content-Type': 'application/json; charset=UTF-8',
'Cache-Control': 'no-cache',
'Upgrade-Insecure-Requests': 1,
'X-Requested-With': 'XMLHttpRequest',
};
Browser.ACCEPT_VALUES = [
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
];
Browser.ACCEPT_LANGUAGE_VALUES = [
'en-US,en;q=0.5',
'pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,fr;q=0.5',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,es;q=0.4',
'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7,pt;q=0.6,fr;q=0.5,es;q=0.4',
];
Browser.REFERER_VALUES = [
'https://www.google.com',
'https://www.facebook.com',
'https://www.twitter.com',
];
exports.Browser = Browser;
{
"name": "@crawly/browser",
"description": "lib to encapsulate browser data",
"version": "1.0.1",
"version": "1.0.2",
"main": "dist/index",

@@ -6,0 +6,0 @@ "types": "dist/index.d.ts",

@@ -12,5 +12,5 @@ import { sample } from 'lodash';

export interface IBrowser {
setHeaders(): void;
resetHeaders(): void;
getHeaders(): IHeader;
mergeHeaders(headers: IHeader, value: IHeader): IHeader;
mergeHeaders(value: IHeader): IHeader;
getRandomAccept(): string;

@@ -22,6 +22,6 @@ getRandomAcceptLanguage(): string;

export class Browser implements IBrowser{
export class Browser implements IBrowser {
private headers: IHeader;
public static readonly BASE_HEADERS: IHeader = {
public readonly BASE_HEADERS: IHeader = {
Pragma: 'no-cache',

@@ -36,3 +36,3 @@ Connection: 'keep-alive',

public static readonly ACCEPT_VALUES: string[] = [
public readonly ACCEPT_VALUES: string[] = [
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

@@ -42,4 +42,5 @@ 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

public static readonly ACCEPT_LANGUAGE_VALUES: string[] = [
public readonly ACCEPT_LANGUAGE_VALUES: string[] = [
'en-US,en;q=0.5',
'pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3',
'pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7',

@@ -52,3 +53,3 @@ 'en-GB,en;q=0.9,en-US;q=0.8,pt-BR;q=0.7',

public static readonly REFERER_VALUES = [
public readonly REFERER_VALUES = [
'https://www.google.com',

@@ -59,8 +60,5 @@ 'https://www.facebook.com',

constructor() {
this.setHeaders();
}
public resetHeaders(): void {
this.headers = Object.assign({}, this.BASE_HEADERS);
public setHeaders(): void {
this.headers = Browser.BASE_HEADERS;
this.headers['Accept'] = this.getRandomAccept();

@@ -73,6 +71,12 @@ this.headers['Accept-Language'] = this.getRandomAcceptLanguage();

public getHeaders(): IHeader {
if (!this.headers) {
this.resetHeaders();
}
return Object.assign({}, this.headers);
}
public mergeHeaders (headers: IHeader, value: IHeader): IHeader {
public mergeHeaders(value: IHeader): IHeader {
const headers = this.getHeaders();
return <IHeader> {

@@ -85,11 +89,11 @@ ...headers,

public getRandomAccept(): string {
return <string> sample(Browser.ACCEPT_VALUES);
return <string> sample(this.ACCEPT_VALUES);
}
public getRandomAcceptLanguage(): string {
return <string> sample(Browser.ACCEPT_LANGUAGE_VALUES);
return <string> sample(this.ACCEPT_LANGUAGE_VALUES);
}
public getRandomReferer(): string {
return <string> sample(Browser.REFERER_VALUES);
return <string> sample(this.REFERER_VALUES);
}

@@ -96,0 +100,0 @@

@@ -32,5 +32,5 @@ import { expect } from 'chai';

it('setHeaders must change headers', () => {
it('resetHeaders must change headers', () => {
const headers = browser.getHeaders();
browser.setHeaders();
browser.resetHeaders();
const headersChanged = browser.getHeaders();

@@ -43,7 +43,8 @@

const headers = browser.getHeaders();
browser.setHeaders();
browser.resetHeaders();
const headersChanged = browser.getHeaders();
const mergedHeaders = browser.mergeHeaders(headers, headersChanged);
const mergedHeaders = browser.mergeHeaders(headers);
expect(mergedHeaders).to.eql(headersChanged);
expect(mergedHeaders).to.eql(headers)
.and.to.not.eql(headersChanged);
});

@@ -54,3 +55,3 @@

expect(Browser.ACCEPT_VALUES).to.include(accept);
expect(browser.ACCEPT_VALUES).to.include(accept);
});

@@ -61,3 +62,3 @@

expect(Browser.ACCEPT_LANGUAGE_VALUES).to.include(acceptLanguage);
expect(browser.ACCEPT_LANGUAGE_VALUES).to.include(acceptLanguage);
});

@@ -68,3 +69,3 @@

expect(Browser.REFERER_VALUES).to.include(referer);
expect(browser.REFERER_VALUES).to.include(referer);
});

@@ -71,0 +72,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc