Skip to content

Commit

Permalink
add LoadbalanceGetContentRoutingConditionID method
Browse files Browse the repository at this point in the history
  • Loading branch information
pablo-ruth committed Dec 12, 2018
1 parent d97b2c1 commit a6051fd
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions loadbalance_content_routing_condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,51 @@ func (c *Client) LoadbalanceGetContentRoutingCondition(cr, mkey string) (Loadbal
return LoadbalanceContentRoutingCondition{}, fmt.Errorf("content routing condition %s not found", mkey)
}

// LoadbalanceGetContentRoutingConditionID returns a content routing condition ID by request
func (c *Client) LoadbalanceGetContentRoutingConditionID(cr string, obj LoadbalanceContentRoutingCondition) (string, error) {
get, err := c.Client.Get(fmt.Sprintf("%s/api/load_balance_content_routing_child_match_condition?pkey=%s", c.Address, cr))
if err != nil {
return "", err
}
defer get.Body.Close()

if get.StatusCode != 200 {
return "", fmt.Errorf("failed to get content routing conditions list with status code: %d", get.StatusCode)
}

body, err := ioutil.ReadAll(get.Body)
if err != nil {
return "", err
}

var LoadbalanceContentRoutingConditionPayload struct {
Payload []LoadbalanceContentRoutingCondition
}
err = json.Unmarshal(body, &LoadbalanceContentRoutingConditionPayload)
if err != nil {
return "", err
}

for _, rs := range LoadbalanceContentRoutingConditionPayload.Payload {
if rs.Content != obj.Content {
continue
}
if rs.Object != obj.Object {
continue
}
if rs.Type != obj.Type {
continue
}
if rs.Reverse != obj.Reverse {
continue
}

return rs.Mkey, nil
}

return "", fmt.Errorf("content routing condition ID %+v not found", obj)
}

// LoadbalanceCreateContentRoutingCondition creates a new content routing condition
func (c *Client) LoadbalanceCreateContentRoutingCondition(cr string, req LoadbalanceContentRoutingCondition) error {

Expand Down

0 comments on commit a6051fd

Please sign in to comment.