func()

in pkg/dp/apisix/route.go [27:49]


func (route *Route) Add() (*RouteResponse, error) {
	baseUrl := conf.BaseUrl
	url := fmt.Sprintf("%s/routes", baseUrl)
	if b, err := json.Marshal(route); err != nil {
		return nil, err
	} else {
		if res, err := utils.Post(url, b); err != nil {
			return nil, err
		} else {
			var routeResp RouteResponse
			if err = json.Unmarshal(res, &routeResp); err != nil {
				return nil, err
			} else {
				if routeResp.Route.Key != nil {
					return &routeResp, nil
				} else {
					return nil, fmt.Errorf("apisix route not expected response")
				}

			}
		}
	}
}