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

srp-data-api

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

srp-data-api - npm Package Compare versions

Comparing version 1.0.4 to 1.0.5

6

config/testing.json

@@ -1,1 +0,5 @@

{}
{
"puppeteer": {
"defaultNavigationTimeout": 30000
}
}

2

package.json
{
"name": "srp-data-api",
"version": "1.0.4",
"version": "1.0.5",
"description": "package for data extraction from SRP company for getting utility data",

@@ -5,0 +5,0 @@ "engines": {

@@ -0,1 +1,2 @@

import config from 'config';
import path from 'path';

@@ -18,25 +19,41 @@ import puppeteer from 'puppeteer';

async login(payload: GetDataPayload, vgsProxyArgument: string[]) {
this.browser = await puppeteer.launch({
args: vgsProxyArgument,
});
const {
companyUrl,
dataExtractionError,
passwordSelector,
usernameSelector,
} = this.config.login;
this.page = await this.browser.newPage();
const page = this.page;
try {
this.browser = await puppeteer.launch({
args: vgsProxyArgument,
});
const { password, username } = payload;
this.page = await this.browser.newPage();
const page = this.page;
const { companyUrl, passwordSelector, usernameSelector } =
this.config.login;
page.setDefaultNavigationTimeout(
config.get('puppeteer.defaultNavigationTimeout'),
);
await page.goto(companyUrl, {
waitUntil: 'networkidle0',
});
const { password, username } = payload;
await page.waitForSelector(usernameSelector);
await page.goto(companyUrl, {
waitUntil: 'networkidle0',
});
await this.typeValueForField(usernameSelector, username);
await page.waitForSelector(usernameSelector);
await this.typeValueForField(passwordSelector, password);
await this.typeValueForField(usernameSelector, username);
await this.click('Enter');
await this.typeValueForField(passwordSelector, password);
await this.click('Enter');
} catch (err) {
await this.browser.close();
return Promise.reject(
new Errors.DataExtractionError(`${dataExtractionError}: ${err}`),
);
}
}

@@ -75,2 +92,4 @@

);
} finally {
await this.browser.close();
}

@@ -125,2 +144,4 @@ }

);
} finally {
await this.browser.close();
}

@@ -127,0 +148,0 @@ }

{
"login": {
"companyUrl": "https://myaccount.srpnet.com/power/login",
"dataExtractionError": "[SRP] Failed to extract data",
"invalidMessage": "The user name or password is incorrect.",

@@ -5,0 +6,0 @@ "loginXhrUrl": "https://myaccount.srpnet.com/myaccountapi/api/login/authorize",

@@ -7,2 +7,6 @@ import { ElementHandle, KeyInput, WaitForOptions } from 'puppeteer';

export interface Browser {
close(): Promise<void>;
}
export interface HTTPResponse {

@@ -58,2 +62,4 @@ url(): string;

): Promise<ElementHandle | null>;
setDefaultNavigationTimeout(timeout: number): void;
}

@@ -9,2 +9,5 @@ import { BrowserInterface } from '../../../src/typings';

}
close() {
return Promise.resolve();
}
}

@@ -85,2 +85,6 @@ import fs from 'fs';

}
setDefaultNavigationTimeout(timeout: number) {
return Promise.resolve();
}
}
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