github.com/akamai/AkamaiOPEN-edgegrid-golang@v1.2.2/api-endpoints-v2/service.go (about) 1 package apiendpoints 2 3 import ( 4 "net/http" 5 6 "github.com/akamai/AkamaiOPEN-edgegrid-golang/client-v1" 7 "github.com/akamai/AkamaiOPEN-edgegrid-golang/edgegrid" 8 ) 9 10 var ( 11 // Config contains the Akamai OPEN Edgegrid API credentials 12 // for automatic signing of requests 13 Config edgegrid.Config 14 ) 15 16 // Init sets the CCU edgegrid Config 17 func Init(config edgegrid.Config) { 18 Config = config 19 } 20 21 func call(req *http.Request, err error) (*Endpoint, error) { 22 if err != nil { 23 return nil, err 24 } 25 26 res, err := client.Do(Config, req) 27 28 if err != nil { 29 return nil, err 30 } 31 32 if client.IsError(res) { 33 return nil, client.NewAPIError(res) 34 } 35 36 rep := &Endpoint{} 37 if err = client.BodyJSON(res, rep); err != nil { 38 return nil, err 39 } 40 41 return rep, nil 42 }