WeiChiaChang / stacks-cli

📊 Analyze website stack from the terminal 💻
MIT License
1.99k stars 71 forks source link

Handle missing scheme #24

Open ppvg opened 6 years ago

ppvg commented 6 years ago

Entering a URL without a scheme causes the process to exit silently:

$ stacks-cli
? Which website stack do you wanna browse ? (e.g. https://github.com) github.com
╔═════════╤═════════╤═══════════════╤═══════════════╤════════════╗
║ 🏷  type │ 👀  name │ 💪  confidence │ ❓  categories │ 💻  website ║
╚═════════╧═════════╧═══════════════╧═══════════════╧════════════╝
$ echo $?
0

Would it be reasonable to assume https:// or https:// if the entered URL lacks a scheme?

o3LL commented 6 years ago

This should be fixed here https://github.com/WeiChiaChang/stacks-cli/pull/25/files#diff-22d5d2b57c69d2e1ac054c4d0f744ff1R87 👍

ppvg commented 6 years ago

That fixes the silent exit. 👍

It would be great if it would also specifically handle the missing scheme in a more friendly way, for example by defaulting to https:///http:// or with a helpful error message.

o3LL commented 6 years ago

Yes, using https://github.com/epoberezkin/ajv#formats !

dospunk commented 6 years ago

Why use an entire validation library?

if(inputstr.indexOf("http://") < 0 && inputstr.indexOf("https://") < 0){
    console.log("No scheme found, defaulting to http");
    inputstr = "http://" + inputstr;
}

That's all you need.

o3LL commented 6 years ago

Send a PR @dospunk !