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.1M
increased by1.7%
Maintainers
5
Install size
1.11 MB
Created
Weekly downloads
 

Changelog

Source

2.2.1 (2024-02-01)

Bug Fixes

Chores

  • 9ffc694 #90 postinstall for dependabot template-oss PR (@lukekarrys)
  • 7243097 #90 bump @npmcli/template-oss from 4.21.1 to 4.21.3 (@dependabot[bot])
  • ee9ea76 #88 postinstall for dependabot template-oss PR (@lukekarrys)
  • e169c95 #88 bump @npmcli/template-oss from 4.19.0 to 4.21.1 (@dependabot[bot])
  • cfdcf70 #73 move proxy:null to correct test (@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 05 Feb 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