Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

is-link-working

NPM version Downloads Build Status Coverage Status Dependency status Dev Dependency status Greenkeeper badge

Checks if a given hypermedia link is working or broken (2xx).

Tries a HEAD request first because it's faster. If that fails, tries a GET request and aborts it as soon as we got the response headers. If the URL is unreachable, optionally checks if you are offline to avoid returning false negatives.

Installation

$ npm install is-link-working

Usage

isLinkWorking(url, options) -> Promise

const isLinkWorking = require('is-link-working');

isLinkWorking('http://google.com')
.then((working) => console.log('working', working))
.catch((err) => console.log('err while checking', err));

Available options:

  • checkConnectivity - True to check internet connectivity if the request fails because of a network error (defaults to false)
  • followRedirect - Defines if redirect responses should be followed automatically (defaults to true)
  • timeout - Milliseconds to wait for a server to send response headers before aborting request with ETIMEDOUT error (defaults to 10000)
  • retries - Number of request retries when network errors happens, see got retries option for more information (defaults to 3)
  • agent - The agent to use, see https://nodejs.org/api/http.html#http_http_request_options_callback (defaults to null)

Connectivity status (online/offline) is made with is-online and its result is cached for 5000 ms to avoid calling it too many times. You may tweak that if you want:

isLinkWorking.connectivityCacheDuration = 0;  // No cache

Tests

$ npm test
$ npm test-cov to get coverage report

License

Released under the MIT License.

About

Checks if a given hypermedia link is working or broken (2xx).

Resources

License

Packages

No packages published
You can’t perform that action at this time.