Socket
Socket
Sign inDemoInstall

@npmcli/agent

Package Overview
Dependencies
12
Maintainers
5
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @npmcli/agent

the http/https agent used by the npm cli


Version published
Weekly downloads
5.3M
decreased by-3.77%
Maintainers
5
Install size
1.12 MB
Created
Weekly downloads
 

Package description

What is @npmcli/agent?

@npmcli/agent is a Node.js package that helps in managing HTTP user agents. It provides utilities to create and manage user agent strings, which can be useful for making HTTP requests with specific user agent headers.

What are @npmcli/agent's main functionalities?

Create a User Agent

This feature allows you to create a user agent string based on the current environment. The `getUserAgent` function generates a user agent string that can be used in HTTP requests.

const { getUserAgent } = require('@npmcli/agent');
const userAgent = getUserAgent();
console.log(userAgent);

Custom User Agent

This feature allows you to create a custom user agent string by providing specific details like the name and version of your application. The `getUserAgent` function accepts an object with `name` and `version` properties to customize the user agent string.

const { getUserAgent } = require('@npmcli/agent');
const userAgent = getUserAgent({ name: 'my-app', version: '1.0.0' });
console.log(userAgent);

Other packages similar to @npmcli/agent

Changelog

Source

2.2.2 (2024-04-01)

Bug Fixes

  • 30f7443 #94 set socks proxy socket family (#94) (@lukekarrys)

Readme

Source

@npmcli/agent

A pair of Agent implementations for nodejs that provide consistent keep-alives, granular timeouts, dns caching, and proxy support.

Usage

const { getAgent, HttpAgent } = require('@npmcli/agent')
const fetch = require('minipass-fetch')

const main = async () => {
    // if you know what agent you need, you can create one directly
    const agent = new HttpAgent(agentOptions)
    // or you can use the getAgent helper, it will determine and create an Agent
    // instance for you as well as reuse that agent for new requests as appropriate
    const agent = getAgent('https://registry.npmjs.org/npm', agentOptions)
    // minipass-fetch is just an example, this will work for any http client that
    // supports node's Agents
    const res = await fetch('https://registry.npmjs.org/npm', { agent })
}

main()

Options

All options supported by the node Agent implementations are supported here, see the docs for those.

Options that have been added by this module include:

  • family: what tcp family to use, can be 4 for IPv4, 6 for IPv6 or 0 for both.
  • proxy: a URL to a supported proxy, currently supports HTTP CONNECT based http/https proxies as well as socks4 and 5.
  • dns: configuration for the built-in dns cache
    • ttl: how long (in milliseconds) to keep cached dns entries, defaults to 5 * 60 * 100 (5 minutes)
    • lookup: optional function to override how dns lookups are performed, defaults to require('dns').lookup
  • timeouts: a set of granular timeouts, all default to 0
    • connection: time between initiating connection and actually connecting
    • idle: time between data packets (if a top level timeout is provided, it will be copied here)
    • response: time between sending a request and receiving a response
    • transfer: time between starting to receive a request and consuming the response fully

FAQs

Last updated on 01 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc