in pkg/dp/apisix/upstream.go [27:48]
func (upstream *Upstream) Add() (*UpstreamResponse, error) {
baseUrl := conf.BaseUrl
url := fmt.Sprintf("%s/upstreams", baseUrl)
if b, err := json.Marshal(upstream); err != nil {
return nil, err
} else {
if res, err := utils.Post(url, b); err != nil {
return nil, fmt.Errorf("http post failed, url: %s, err: %+v", url, err)
} else {
var uRes UpstreamResponse
if err = json.Unmarshal(res, &uRes); err != nil {
return nil, err
} else {
if uRes.Upstream.Key != nil {
return &uRes, nil
} else {
return nil, fmt.Errorf("apisix upstream not expected response")
}
}
}
}
}