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

requestly

Package Overview
Dependencies
Maintainers
0
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

requestly - npm Package Compare versions

Comparing version 1.2.5 to 1.2.6

21

lib/index.d.ts

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

import * as tough_cookie from 'tough-cookie';
import { RequestlyOptions, RequestOptions, RequestlyResponse, MaybePromise, OnResponse } from './types.js';

@@ -6,9 +7,17 @@

private _headers;
private _cookies;
private _params?;
private _storeCookies?;
private _cookieJar;
private _onRequest?;
private _onResponse?;
private _maxRedirects;
constructor(opts?: RequestlyOptions | string);
private _request;
cookies: {
serialize: () => tough_cookie.Cookie.Serialized[];
deserialize: (cookies: Record<string, string>[]) => void;
get: (url: string) => Promise<string>;
getAll: (url: string) => Promise<any[]>;
set: (url: string, cookie: string) => Promise<void>;
clear: () => void;
};
get baseUrl(): string | undefined;

@@ -26,10 +35,2 @@ set baseUrl(url: string | undefined);

};
cookies: {
set: (key: string, value: string) => void;
get: (key: string) => string;
getAll: () => Record<string, string>;
remove: (key: string) => void;
update: (cookies: Record<string, string>) => void;
toString: () => string;
};
get<T>(url: string, options?: Omit<RequestOptions, "body">): Promise<RequestlyResponse<T>>;

@@ -36,0 +37,0 @@ post<T>(url: string, options?: RequestOptions): Promise<RequestlyResponse<T>>;

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

var h="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36";function f(i){let e=new URLSearchParams(i).toString();return e?`?${e}`:""}function R(i){let e={},s=i.split(",").map(t=>t.trim().split(";")[0]).filter(t=>t?.includes("="));for(let t of s){let[u,n]=t.split("=");!u||!n||(e[u.trim()]=n.trim())}return e}function m(i){return Object.entries(i).map(([s,t])=>encodeURI(`${s}=${t}`)).join("; ")}function y(i){return!i||i instanceof FormData?"":i instanceof URLSearchParams?"application/x-www-form-urlencoded":i instanceof Blob||i instanceof ArrayBuffer||typeof ReadableStream<"u"&&i instanceof ReadableStream?"application/octet-stream":i instanceof URL?"text/uri-list":i instanceof Uint8Array?"application/octet-stream":typeof i.uri=="string"&&typeof i.type=="string"?i.type||"application/octet-stream":"application/json"}var p=class i{constructor(e){this._headers={};this._cookies={};this._params={};this.headers={set:(e,s)=>{this._headers[e]=s},get:e=>this._headers[e],getAll:()=>this._headers,remove:e=>{delete this._headers[e]},update:e=>{this._headers={...e,...this._headers}}};this.cookies={set:(e,s)=>{this._cookies[e]=s},get:e=>this._cookies[e],getAll:()=>this._cookies,remove:e=>{delete this._cookies[e]},update:e=>{this._cookies={...e,...this._cookies}},toString:()=>m(this.cookies.getAll())};if(typeof e=="string"){this._baseUrl=e;return}this._baseUrl=e?.baseUrl??"",this._headers=e?.headers??{},this._cookies=e?.cookies??{},this._params=e?.params??{},this._storeCookies=e?.storeCookies??!0,this._headers["User-Agent"]=e?.userAgent??h,this._onRequest=e?.onRequest}async _request(e,s,t){if(e.startsWith("/")&&this._baseUrl==null)throw new Error("Cannot make request with relative URL without a base URL");let u=f({...t?.params,...this._params}),n=`${this._baseUrl}${e}${u}`;n.endsWith("/")&&(n=n.slice(0,-1));let l=y(t?.body),_={...l?{"Content-Type":l}:{},...t?.headers},d=this.cookies.toString(),o={method:s,headers:{...this.headers.getAll(),..._,...d?{Cookie:d}:{}},body:typeof t?.body=="object"&&!(t?.body instanceof FormData)&&!(t?.body instanceof URLSearchParams)&&!(t?.body instanceof Blob)&&!(t?.body instanceof ArrayBuffer)&&(typeof ReadableStream>"u"||!(t?.body instanceof ReadableStream))&&!(t?.body instanceof URL)&&!(t?.body instanceof Uint8Array)?JSON.stringify(t?.body):t?.body},g=await this._onRequest?.(n,o);o={...o,...g,headers:{...o.headers,...g?.headers}};let c=await fetch(n,o).then(async r=>{let{headers:a}=r,b=a.get("Content-Type")?.includes("application/json"),k=R(a.get("Set-Cookie")||"");return{...r,url:r.url,ok:r.ok,redirected:r.redirected,status:r.status,statusText:r.statusText,request:{url:e,method:s,options:o},headers:a,cookies:k,data:await(b?r.json():r.text())}});if(this._storeCookies&&Object.entries(c.cookies).forEach(([r,a])=>{this.cookies.set(r,a)}),this._onResponse){let r=await this._onResponse(n,o,c);if(r)return r?.headers instanceof Headers?r:{...c,data:r}}return c}get baseUrl(){return this._baseUrl}set baseUrl(e){this._baseUrl=e}create(e){return new i(e)}get params(){return this._params}set params(e){this._params=e}get(e,s){return this._request(e,"GET",s)}post(e,s){return this._request(e,"POST",s)}put(e,s){return this._request(e,"PUT",s)}delete(e,s){return this._request(e,"DELETE",s)}patch(e,s){return this._request(e,"PATCH",s)}onRequest(e){this._onRequest=e}onResponse(e){this._onResponse=e}},T=new p,U=T;export{p as Requestly,U as default,T as requestly};
import{CookieJar as c}from"tough-cookie";import{splitCookiesString as w}from"set-cookie-parser";var m="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36";function y(s){let e=new URLSearchParams(s).toString();return e?`?${e}`:""}function _(s){return!s||s instanceof FormData?"":s instanceof URLSearchParams?"application/x-www-form-urlencoded":s instanceof Blob||s instanceof ArrayBuffer||typeof ReadableStream<"u"&&s instanceof ReadableStream?"application/octet-stream":s instanceof URL?"text/uri-list":s instanceof Uint8Array?"application/octet-stream":typeof s.uri=="string"&&typeof s.type=="string"?s.type||"application/octet-stream":"application/json"}var C=new Set([301,302,303,307,308]),p=class s{constructor(e){this._headers={};this._params={};this.cookies={serialize:()=>this._cookieJar.serializeSync().cookies,deserialize:e=>{this._cookieJar=c.deserializeSync({rejectPublicSuffixes:!0,storeType:"MemoryCookieStore",version:"tough-cookie@4.1.4",cookies:e})},get:async e=>this._cookieJar.getCookieString(e),getAll:async e=>this._cookieJar.getCookies(e),set:async(e,t)=>{await this._cookieJar.setCookie(t,e)},clear:()=>{this._cookieJar=new c}};this.headers={set:(e,t)=>{this._headers[e]=t},get:e=>this._headers[e],getAll:()=>this._headers,remove:e=>{delete this._headers[e]},update:e=>{this._headers={...e,...this._headers}}};if(typeof e=="string"){this._baseUrl=e,this._cookieJar=new c,this._maxRedirects=20;return}this._baseUrl=e?.baseUrl??"",this._headers=e?.headers??{},this._params=e?.params??{},this._cookieJar=new c,e?.cookies&&this.cookies.deserialize(e.cookies),this._headers["User-Agent"]=e?.userAgent??m,this._onRequest=e?.onRequest,this._maxRedirects=e?.maxRedirects??20}async _request(e,t,i,u=0){if(e.startsWith("/")&&this._baseUrl==null)throw new Error("Cannot make request with relative URL without a base URL");let b=y({...i?.params,...this._params}),n=`${this._baseUrl}${e}${b}`;n.endsWith("/")&&(n=n.slice(0,-1));let g=_(i?.body),k={...g?{"Content-Type":g}:{},...i?.headers},h=await this._cookieJar.getCookieString(n),o={method:t,headers:{...this.headers.getAll(),...k,...h?{Cookie:h}:{}},body:typeof i?.body=="object"&&!(i?.body instanceof FormData)&&!(i?.body instanceof URLSearchParams)&&!(i?.body instanceof Blob)&&!(i?.body instanceof ArrayBuffer)&&(typeof ReadableStream>"u"||!(i?.body instanceof ReadableStream))&&!(i?.body instanceof URL)&&!(i?.body instanceof Uint8Array)?JSON.stringify(i?.body):i?.body},f=await this._onRequest?.(n,o);o={...o,...f,headers:{...o.headers,...f?.headers},redirect:"manual"};let r=await fetch(n,o),R=r.headers.get("Set-Cookie");if(R){let a=w(R);for(let l of a)await this._cookieJar.setCookie(l,n,{ignoreError:!0})}if(C.has(r.status)&&u<this._maxRedirects){let a=r.headers.get("Location");if(a){let l=new URL(a,n).toString(),T=r.status===303?"GET":t,U=r.status===303?void 0:i?.body;return this._request(l,T,{...i,body:U},u+1)}}let q=r.headers.get("Content-Type")?.includes("application/json"),d={...r,url:r.url,ok:r.ok,redirected:u>0,status:r.status,statusText:r.statusText,request:{url:e,method:t,options:o},headers:r.headers,data:await(q?r.json():r.text())};if(this._onResponse){let a=await this._onResponse(n,o,d);if(a)return a?.headers instanceof Headers?a:{...d,data:a}}return d}get baseUrl(){return this._baseUrl}set baseUrl(e){this._baseUrl=e}create(e){return new s(e)}get params(){return this._params}set params(e){this._params=e}get(e,t){return this._request(e,"GET",t)}post(e,t){return this._request(e,"POST",t)}put(e,t){return this._request(e,"PUT",t)}delete(e,t){return this._request(e,"DELETE",t)}patch(e,t){return this._request(e,"PATCH",t)}onRequest(e){this._onRequest=e}onResponse(e){this._onResponse=e}},x=new p,v=x;export{p as Requestly,v as default,x as requestly};

@@ -7,5 +7,5 @@ type RequestMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH";

headers?: Record<string, string>;
cookies?: Record<string, string>;
params?: Record<string, string>;
storeCookies?: boolean;
cookies?: Record<string, string>[];
maxRedirects?: number;
onRequest?: (url: string, init: RequestInit) => MaybePromise<RequestInit | void>;

@@ -27,3 +27,2 @@ onResponse?: OnResponse;

};
cookies: Record<string, string>;
data: T;

@@ -30,0 +29,0 @@ }

{
"name": "requestly",
"version": "1.2.5",
"version": "1.2.6",
"description": "A minimal, but powerful HTTP Client for Node.js",

@@ -28,2 +28,4 @@ "publishConfig": {

"devDependencies": {
"@types/set-cookie-parser": "^2.4.10",
"@types/tough-cookie": "^4.0.5",
"tsup": "8.0.1",

@@ -50,2 +52,6 @@ "typescript": "5.3.3"

],
"dependencies": {
"set-cookie-parser": "^2.6.0",
"tough-cookie": "^4.1.4"
},
"scripts": {

@@ -52,0 +58,0 @@ "dev": "tsup --watch",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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