heads

1.3.0 • Public • Published

heads Build Status

Make parallel HEAD requests for an array of URLs and get back their HTTP status codes.

Why?

You've got a collection of URLs, and you want to make sure they're all working.

If you just need to check whether a URL is resolving, a HEAD request is preferable to a GET because it only downloads the response headers instead of the whole response body.

To keep things snappy, heads makes multiple requests in parallel instead of one at a time.

Installation

npm install heads --save

Usage

Heads expects an array of URL strings:

const heads = require("heads")
const urls = [
  'https://google.com',
  'https://github.com',
  'https://github.com/nonexistent-url'
]
 
heads(urls)
  .then(function(codes) {
   // [200, 200, 404]
   codes.every(code => code === 200)
  })
  .catch(function(err) {
    // handle error
  })

heads(urls, [options])

urls

Type: string, array

The URL(s) to check.

options

See the got options.

Node-style callbacks are supported too:

heads(urls, function(err, codes) { /*...*/ })

If you just need to look up one URL, pass it as an argument instead of an array:

heads('http://mysite.com').then(...)

Tests

npm install
npm test

Dependencies

  • async: Higher-order functions and common patterns for asynchronous code
  • got: Simplified HTTP requests
  • pify: Promisify a callback-style function

Dev Dependencies

  • tap-spec: Formatted TAP output like Mocha's spec reporter
  • tape: tap-producing test harness for node and browsers

License

MIT

Generated by package-json-to-readme

Package Sidebar

Install

npm i heads

Weekly Downloads

16

Version

1.3.0

License

MIT

Last publish

Collaborators

  • zeke