app.go
changeset 120 579912e9d0ef
parent 84 519be52bfced
child 130 c450bb73f59a
--- a/app.go	Sat Apr 15 00:39:43 2017 +0200
+++ b/app.go	Sat Apr 15 10:26:36 2017 +0200
@@ -1,8 +1,6 @@
 package gondole
 
 import (
-	"encoding/json"
-	"log"
 	"net/url"
 	"strings"
 
@@ -37,30 +35,22 @@
 		InstanceURL: instanceURL,
 	}
 
-	req := g.prepareRequest("apps")
+	params := make(apiCallParams)
+	params["client_name"] = name
+	params["scopes"] = strings.Join(scopes, " ")
 	if redirectURI != "" {
-		req.QueryParams["redirect_uris"] = redirectURI
+		params["redirect_uris"] = redirectURI
 	} else {
-		req.QueryParams["redirect_uris"] = NoRedirect
-	}
-	req.QueryParams["client_name"] = name
-	req.QueryParams["scopes"] = strings.Join(scopes, " ")
-	req.Method = rest.Post
-
-	r, err := rest.API(req)
-	if err != nil {
-		log.Fatalf("error can not register app: %v", err)
+		params["redirect_uris"] = NoRedirect
 	}
 
-	var resp registerApp
-
-	err = json.Unmarshal([]byte(r.Body), &resp)
-	if err != nil {
-		log.Fatalf("error can not register app: %v", err)
+	var app registerApp
+	if err := g.apiCall("apps", rest.Post, params, &app); err != nil {
+		return nil, err
 	}
 
-	g.ID = resp.ClientID
-	g.Secret = resp.ClientSecret
+	g.ID = app.ClientID
+	g.Secret = app.ClientSecret
 
 	return
 }