zz_

index.js

thoward37@gmail.com/push-test2-1791933121043 / index.js @ 97423df9 Download
Ladder Summary
  • file The module exports a single **default async function `isUp(url)`** that checks whether a given website is reachable. It extracts the hostname from the provided URL, queries the `https://isitup.org/<hostname>.json` API via `got`, throws an error if the API reports an invalid domain, and otherwise returns `true` when the site’s status code indicates it is up (and `false` when it is down).
 'use strict';
 const got = require('got');
 
 const statusCodes = {
  isUp: 1,
  isDown: 2,
  invalidDomain: 3
 };
 
 module.exports = async url => {
- url = new URL(url);
- url = encodeURIComponent(url.host);
+ const hostname = encodeURIComponent((new URL(url)).hostname);
 
- const {body} = await got(`https://isitup.org/${url}.json`, {
- json: true,
+ const {status_code: statusCode} = await got(`https://isitup.org/${hostname}.json`, {
  headers: {
  'user-agent': 'https://github.com/sindresorhus/is-up'
  }
- });
-
- const statusCode = body.status_code;
+ }).json();
 
  if (statusCode === statusCodes.invalidDomain) {
  throw new Error('Invalid domain');
  }
 
  return statusCode === statusCodes.isUp;
 };