0

I'd like to ensure that a url sent to my server is an actual website (heroku app) rather than validating for htp://fooxbvgf5766.herokuapp.com. A status code of 200 would tell me that url is an actual website.

Been searching and found this.

checkValidWebsite(appName) {
    const url = `https://${appName}.herokuapp.com`
    return new Promise(function (resolve, reject) {
      var xhr = new XMLHttpRequest();
      xhr.open('GET', url);
      xhr.onload = function () {
        if (this.status >= 200 && this.status < 300) {
          resolve(xhr.response);
        } else {
          reject({
            status: this.status,
            statusText: xhr.statusText
          });
        }
      };
      xhr.onerror = function () {
        reject({
          status: this.status,
          statusText: xhr.statusText
        });
      };
      xhr.send();
    });
  }

Running the function:

checkValidWebsite('foo')
.then(resp => {
  console.log(resp)
})
.catch(e => {
  console.log('Error:', e)
})

Checking for https://foo.herokuapp.com I get cors errors. Is there a way to detect that a url is an actual website?

Sylar
  • 11,422
  • 25
  • 93
  • 166

0 Answers0