Files
unhttpx/main.go
2022-08-21 20:58:33 +02:00

50 lines
607 B
Go

package main
import (
"bufio"
"fmt"
"log"
"net/url"
"os"
)
func main() {
var urls []string
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
u := scanner.Text()
if u != "" {
urls = append(urls, u)
}
}
if err := scanner.Err(); err != nil {
log.Println(err)
}
for _, url := range urls {
host := host(url)
if host == "" {
fmt.Fprintln(os.Stderr, "Cannot parse as URL: "+url)
continue
}
fmt.Println(host)
}
}
func host(u string) string {
parsed, err := url.Parse(u)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return ""
}
return parsed.Host
}