func()

in sdk/resourcemanager/alertsmanagement/armalertsmanagement/fake/alerts_server.go [156:310]


func (a *AlertsServerTransport) dispatchNewGetAllPager(req *http.Request) (*http.Response, error) {
	if a.srv.NewGetAllPager == nil {
		return nil, &nonRetriableError{errors.New("fake for method NewGetAllPager not implemented")}
	}
	newGetAllPager := a.newGetAllPager.get(req)
	if newGetAllPager == nil {
		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.AlertsManagement/alerts`
		regex := regexp.MustCompile(regexStr)
		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
		if matches == nil || len(matches) < 1 {
			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
		}
		qp := req.URL.Query()
		targetResourceUnescaped, err := url.QueryUnescape(qp.Get("targetResource"))
		if err != nil {
			return nil, err
		}
		targetResourceParam := getOptional(targetResourceUnescaped)
		targetResourceTypeUnescaped, err := url.QueryUnescape(qp.Get("targetResourceType"))
		if err != nil {
			return nil, err
		}
		targetResourceTypeParam := getOptional(targetResourceTypeUnescaped)
		targetResourceGroupUnescaped, err := url.QueryUnescape(qp.Get("targetResourceGroup"))
		if err != nil {
			return nil, err
		}
		targetResourceGroupParam := getOptional(targetResourceGroupUnescaped)
		monitorServiceUnescaped, err := url.QueryUnescape(qp.Get("monitorService"))
		if err != nil {
			return nil, err
		}
		monitorServiceParam := getOptional(armalertsmanagement.MonitorService(monitorServiceUnescaped))
		monitorConditionUnescaped, err := url.QueryUnescape(qp.Get("monitorCondition"))
		if err != nil {
			return nil, err
		}
		monitorConditionParam := getOptional(armalertsmanagement.MonitorCondition(monitorConditionUnescaped))
		severityUnescaped, err := url.QueryUnescape(qp.Get("severity"))
		if err != nil {
			return nil, err
		}
		severityParam := getOptional(armalertsmanagement.Severity(severityUnescaped))
		alertStateUnescaped, err := url.QueryUnescape(qp.Get("alertState"))
		if err != nil {
			return nil, err
		}
		alertStateParam := getOptional(armalertsmanagement.AlertState(alertStateUnescaped))
		alertRuleUnescaped, err := url.QueryUnescape(qp.Get("alertRule"))
		if err != nil {
			return nil, err
		}
		alertRuleParam := getOptional(alertRuleUnescaped)
		smartGroupIDUnescaped, err := url.QueryUnescape(qp.Get("smartGroupId"))
		if err != nil {
			return nil, err
		}
		smartGroupIDParam := getOptional(smartGroupIDUnescaped)
		includeContextUnescaped, err := url.QueryUnescape(qp.Get("includeContext"))
		if err != nil {
			return nil, err
		}
		includeContextParam, err := parseOptional(includeContextUnescaped, strconv.ParseBool)
		if err != nil {
			return nil, err
		}
		includeEgressConfigUnescaped, err := url.QueryUnescape(qp.Get("includeEgressConfig"))
		if err != nil {
			return nil, err
		}
		includeEgressConfigParam, err := parseOptional(includeEgressConfigUnescaped, strconv.ParseBool)
		if err != nil {
			return nil, err
		}
		pageCountUnescaped, err := url.QueryUnescape(qp.Get("pageCount"))
		if err != nil {
			return nil, err
		}
		pageCountParam, err := parseOptional(pageCountUnescaped, func(v string) (int64, error) {
			p, parseErr := strconv.ParseInt(v, 10, 64)
			if parseErr != nil {
				return 0, parseErr
			}
			return p, nil
		})
		if err != nil {
			return nil, err
		}
		sortByUnescaped, err := url.QueryUnescape(qp.Get("sortBy"))
		if err != nil {
			return nil, err
		}
		sortByParam := getOptional(armalertsmanagement.AlertsSortByFields(sortByUnescaped))
		sortOrderUnescaped, err := url.QueryUnescape(qp.Get("sortOrder"))
		if err != nil {
			return nil, err
		}
		sortOrderParam := getOptional(armalertsmanagement.SortOrder(sortOrderUnescaped))
		selectUnescaped, err := url.QueryUnescape(qp.Get("select"))
		if err != nil {
			return nil, err
		}
		selectParam := getOptional(selectUnescaped)
		timeRangeUnescaped, err := url.QueryUnescape(qp.Get("timeRange"))
		if err != nil {
			return nil, err
		}
		timeRangeParam := getOptional(armalertsmanagement.TimeRange(timeRangeUnescaped))
		customTimeRangeUnescaped, err := url.QueryUnescape(qp.Get("customTimeRange"))
		if err != nil {
			return nil, err
		}
		customTimeRangeParam := getOptional(customTimeRangeUnescaped)
		var options *armalertsmanagement.AlertsClientGetAllOptions
		if targetResourceParam != nil || targetResourceTypeParam != nil || targetResourceGroupParam != nil || monitorServiceParam != nil || monitorConditionParam != nil || severityParam != nil || alertStateParam != nil || alertRuleParam != nil || smartGroupIDParam != nil || includeContextParam != nil || includeEgressConfigParam != nil || pageCountParam != nil || sortByParam != nil || sortOrderParam != nil || selectParam != nil || timeRangeParam != nil || customTimeRangeParam != nil {
			options = &armalertsmanagement.AlertsClientGetAllOptions{
				TargetResource:      targetResourceParam,
				TargetResourceType:  targetResourceTypeParam,
				TargetResourceGroup: targetResourceGroupParam,
				MonitorService:      monitorServiceParam,
				MonitorCondition:    monitorConditionParam,
				Severity:            severityParam,
				AlertState:          alertStateParam,
				AlertRule:           alertRuleParam,
				SmartGroupID:        smartGroupIDParam,
				IncludeContext:      includeContextParam,
				IncludeEgressConfig: includeEgressConfigParam,
				PageCount:           pageCountParam,
				SortBy:              sortByParam,
				SortOrder:           sortOrderParam,
				Select:              selectParam,
				TimeRange:           timeRangeParam,
				CustomTimeRange:     customTimeRangeParam,
			}
		}
		resp := a.srv.NewGetAllPager(options)
		newGetAllPager = &resp
		a.newGetAllPager.add(req, newGetAllPager)
		server.PagerResponderInjectNextLinks(newGetAllPager, req, func(page *armalertsmanagement.AlertsClientGetAllResponse, createLink func() string) {
			page.NextLink = to.Ptr(createLink())
		})
	}
	resp, err := server.PagerResponderNext(newGetAllPager, req)
	if err != nil {
		return nil, err
	}
	if !contains([]int{http.StatusOK}, resp.StatusCode) {
		a.newGetAllPager.remove(req)
		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)}
	}
	if !server.PagerResponderMore(newGetAllPager) {
		a.newGetAllPager.remove(req)
	}
	return resp, nil
}