"io"
"io/fs"
"log"
+ "net/url"
"os"
"os/exec"
"os/signal"
}
defer DebugFd.Close()
- login, password := netrc.Find(*entrypoint)
+ entrypointURL, err := url.Parse(*entrypoint)
+ if err != nil {
+ log.Fatalln(err)
+ }
+ login, password := netrc.Find(entrypointURL.Hostname())
if login == "" || password == "" {
- log.Fatalln("no credentials found for:", *entrypoint)
+ log.Fatalln("no credentials found for:", entrypointURL.Hostname())
}
- c := model.NewAPIv4Client("https://" + *entrypoint)
+ c := model.NewAPIv4Client(*entrypoint)
c.Login(login, password)
me, resp, err := c.GetMe("")
if err != nil {
}()
needsShutdown := make(chan os.Signal)
- wc, err := model.NewWebSocketClient4("wss://"+*entrypoint, c.AuthToken)
+ switch entrypointURL.Scheme {
+ case "http":
+ entrypointURL.Scheme = "ws"
+ case "https":
+ entrypointURL.Scheme = "wss"
+ default:
+ log.Println("unhandled scheme:", entrypointURL.Scheme)
+ }
+ wc, err := model.NewWebSocketClient4(entrypointURL.String(), c.AuthToken)
if err != nil {
log.Fatalln(err)
}