From 8c7d9ea8fdb68d263831741190016e016cc1cd37 Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Thu, 4 May 2023 21:33:38 +0300 Subject: [PATCH] :zap: Fix the `updateLicense` method --- cmd/pro.go | 12 ++++++------ internal/connect/hub.go | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/cmd/pro.go b/cmd/pro.go index 34e22685c..38d5c1bd6 100644 --- a/cmd/pro.go +++ b/cmd/pro.go @@ -61,17 +61,19 @@ func acquireLicense() { } func updateLicense(licenseKey string) { + log.Info().Str("key", licenseKey).Msg("Received license:") + config.Config.License = licenseKey err := config.WriteConfig(&config.Config) if err != nil { log.Error().Err(err).Send() } + connector.PostLicenseSingle(config.Config.License) + + log.Info().Msg("Updated the license. Exiting.") + go func() { - connector.PostLicense(config.Config.License) - - log.Info().Msg("Updated the license. Exiting.") - time.Sleep(2 * time.Second) os.Exit(0) }() @@ -105,8 +107,6 @@ func runLicenseRecieverServer() { licenseKey := string(data) - log.Info().Str("key", licenseKey).Msg("Received license:") - updateLicense(licenseKey) }) diff --git a/internal/connect/hub.go b/internal/connect/hub.go index 0507c7b03..9e6b7e835 100644 --- a/internal/connect/hub.go +++ b/internal/connect/hub.go @@ -151,6 +151,26 @@ func (connector *Connector) PostLicense(license string) { } } +func (connector *Connector) PostLicenseSingle(license string) { + postLicenseUrl := fmt.Sprintf("%s/license", connector.url) + + payload := postLicenseRequest{ + License: license, + } + + if payloadMarshalled, err := json.Marshal(payload); err != nil { + log.Error().Err(err).Msg("Failed to marshal the payload:") + } else { + var resp *http.Response + if resp, err = utils.Post(postLicenseUrl, "application/json", bytes.NewBuffer(payloadMarshalled), connector.client); err != nil || resp.StatusCode != http.StatusOK { + log.Warn().Err(err).Msg("Failed sending the license to Hub.") + } else { + log.Debug().Str("license", license).Msg("Reported license to Hub:") + return + } + } +} + func (connector *Connector) PostEnv(env map[string]interface{}) { if len(env) == 0 { return