]> Sergey Matveev's repositories - mmc.git/blobdiff - cmd/ch-leave/main.go
Ability to connect to http:// entrypoints
[mmc.git] / cmd / ch-leave / main.go
index 00e6311c50d38a78c5eba5eb8ec2fac24fdfad25..d9e3385413dd791e9752b1ee42894d657557a3c2 100644 (file)
@@ -1,5 +1,5 @@
 // mmc -- Mattermost client
-// Copyright (C) 2023 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2023-2024 Sergey Matveev <stargrave@stargrave.org>
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU Affero General Public License as
@@ -19,22 +19,27 @@ package main
 import (
        "flag"
        "log"
+       "net/url"
 
        "github.com/mattermost/mattermost-server/v6/model"
+       "go.cypherpunks.ru/netrc"
        "go.stargrave.org/mmc"
 )
 
 func main() {
-       entrypoint := flag.String("entrypoint", "mm.rnd.stcnet.ru", "Entrypoint")
+       entrypoint := flag.String("entrypoint", mmc.GetEntrypoint(), "Entrypoint")
        flag.Parse()
        log.SetFlags(log.Lshortfile)
-
        chId := flag.Arg(0)
-       login, password := mmc.FindInNetrc(*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, _, err := c.GetMe("")
        if err != nil {