package client import ( "bytes" "encoding/json" "io" "net/http" "net/url" "crispbyte.dev/sig-auth/server" ) func RegisterKey(baseUrl *url.URL, key string, userId string) (string, error) { request := server.RegisterRequest{ UserId: userId, Key: key, } json_data, _ := json.Marshal(request) registerUrl := baseUrl.JoinPath("register") resp, err := http.DefaultClient.Post( registerUrl.String(), "application/json", bytes.NewBuffer(json_data)) if err != nil { return "", err } defer resp.Body.Close() out, err := io.ReadAll(resp.Body) if err != nil { return "", err } keyId := string(out[:]) return keyId, nil }