Browse Source

return struct

Matthew R. Kasun 3 years ago
parent
commit
3e6a9be9ba
3 changed files with 20 additions and 3 deletions
  1. 5 1
      controllers/server.go
  2. 4 0
      netclient/config/config.go
  3. 11 2
      netclient/functions/register.go

+ 5 - 1
controllers/server.go

@@ -9,6 +9,7 @@ import (
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
+	"github.com/gravitl/netmaker/netclient/config"
 	"github.com/gravitl/netmaker/servercfg"
 	"github.com/gravitl/netmaker/tls"
 )
@@ -158,6 +159,9 @@ func register(w http.ResponseWriter, r *http.Request) {
 		return
 		//return err
 	}
+	response := config.RegisterResponse{
+		CA: *ca,
+	}
 	w.WriteHeader(http.StatusOK)
-	json.NewEncoder(w).Encode(*ca)
+	json.NewEncoder(w).Encode(response)
 }

+ 4 - 0
netclient/config/config.go

@@ -44,6 +44,10 @@ type RegisterRequest struct {
 	CSR x509.CertificateRequest
 }
 
+type RegisterResponse struct {
+	CA x509.Certificate
+}
+
 // Write - writes the config of a client to disk
 func Write(config *ClientConfig, network string) error {
 	if network == "" {

+ 11 - 2
netclient/functions/register.go

@@ -4,6 +4,7 @@ import (
 	"crypto/x509"
 	"encoding/json"
 	"errors"
+	"io/ioutil"
 	"log"
 	"net/http"
 
@@ -35,9 +36,17 @@ func Register(cfg *config.ClientConfig) error {
 	if response.StatusCode != http.StatusOK {
 		return errors.New(response.Status)
 	}
+
+	body, err := ioutil.ReadAll(response.Body)
+	if err != nil {
+		log.Fatal(err)
+
+	}
+	log.Println(string(body))
 	var cert *x509.Certificate
-	if err := json.NewDecoder(response.Body).Decode(cert); err != nil {
-		return err
+	if err := json.Unmarshal(body, cert); err != nil {
+		//if err := json.NewDecoder(response.Body).Decode(cert); err != nil {
+		return errors.New("unmarshal cert error " + err.Error())
 	}
 	if err := tls.SaveCert(ncutils.GetNetclientPath()+cfg.Server.Server, "root.cert", cert); err != nil {
 		return err