

GitHub - transitive-bullshit/check-links: Robustly checks an array of URLs for l...
source link: https://github.com/transitive-bullshit/check-links
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

readme.md
check-links
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.
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 >= 4
.
npm install --save check-links
Usage
const checkLinks = require('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 timeout and retry count const results2 = await checkLinks([ 'https://foo.com', 'https://404.com', ], { timeout: 30000, retry: 1 })
- Supports HTTP and HTTPS urls.
- Defaults to a 10 second timeout per HTTP request with 2 retries.
- Defaults to a Mac OS Chrome
user-agent
. - Defaults to following redirects.
API
checkLinks
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 reachableinvalid
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 testopts
object? Optional configuration options (any extra options are passed to got)opts.concurrency
number Maximum number of urls to resolve concurrently (optional, default8
)
Related
- remark-lint-no-dead-urls - Remark lint plugin that inspired this module.
License
MIT © Travis Fischer
Recommend
-
23
readme.md react-particle-effect-button (demo) Bursting p...
-
53
readme.md create-react-library CLI for creating reusable, modern React libraries using Rollup and create-react-app.
-
34
readme.md
-
11
2017-09-15 / C# / 8 min read Transitive NuGet dependencies: .NET Core’s got your back
-
12
Counterexample of symmetry: If you have an impl like: impl<T> PartialEq<T> for Ident where...
-
20
Non-transitive R files became available to all modules in AGP 4.2. Non-transitive R files allow your builds to be incrementally faster and your AAB/APK’s smaller. This post will explain how to implement and build your app with non-transitive...
-
6
Non-transitive Dice James Grime We present a set of very unusual dice, and a two player game where you will always have the...
-
7
Announcing NuGet 6.3 – Transitive Dependencies, Floating Versions, and Re-enabling Signed Package Verification
-
7
Unlocking security updates for transitive dependencies with npmHow Dependabot integrated with npm to address security vulnerabilities on transitive dependencies and increase the likelihood of...
-
5
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK