Socket
Socket
Sign inDemoInstall

check-links

Package Overview
Dependencies
34
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    check-links

Robustly checks an array of URLs for liveness.


Version published
Maintainers
1
Install size
1.03 MB
Created

Readme

Source

Robustly checks an array of URLs for liveness.

NPM Build Status Prettier Code Formatting

For each URL, it first attempts an HTTP HEAD request, and if that fails it will attempt an HTTP GET request, retrying several times by default with exponential falloff.

This module handles concurrency and retry logic so you can check the status of thousands of links quickly and robustly.

Install

This module requires node >= 14.17.

npm install --save check-links
# or
yarn add check-links
# or
pnpm add check-links

Note: this package uses ESM and no longer provides a CommonJS export. See here for more info on how to use ESM modules.

Usage

import checkLinks from 'check-links'

const results = await checkLinks(['https://foo.com', 'https://404.com'])

results['https://foo.com'] // { status: 'alive', statusCode: 200 }
results['https://404.com'] // { status: 'dead', statusCode: 404 }

// example using a custom concurrency, timeout, and retry count
const results2 = await checkLinks(['https://foo.com', 'https://404.com'], {
  concurrency: 1,
  timeout: { request: 30000 },
  retry: { limit: 1 }
})
  • Supports HTTP and HTTPS urls.
  • Defaults to a 30 second timeout per HTTP request with 2 retries.
  • Defaults to a Mac OS Chrome user-agent.
  • Defaults to following redirects.
  • All options use a got options object.

API

Robustly checks an array of URLs for liveness.

For each URL, it first attempts an HTTP HEAD request, and if that fails it will attempt an HTTP GET request, retrying several times by default with exponential falloff.

Returns a Map<String, LivenessResult> that maps each input URL to an object containing status and possibly statusCode.

LivenessResult.status will be one of the following:

  • alive if the URL is reachable (2XX status code)
  • dead if the URL is not reachable
  • invalid if the URL was parsed as invalid or used an unsupported protocol

LivenessResult.statusCode will contain an integer HTTP status code if that URL resolved properly.

Type: function (urls, opts)

  • urls array<string> Array of urls to test
  • opts object? Optional configuration options (any extra options are passed to got)
    • opts.concurrency number Maximum number of urls to resolve concurrently (optional, default 8)

License

MIT © Travis Fischer

Support my OSS work by following me on twitter twitter

Keywords

FAQs

Last updated on 15 Nov 2022

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