Skip to content

zeke/heads

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published