func (client *MultipleInheritanceServiceClient) putHorseHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientPutHorseResponse, error) {
	result := MultipleInheritanceServiceClientPutHorseResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Value); err != nil {
		return MultipleInheritanceServiceClientPutHorseResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
putHorseHandleResponse handles the PutHorse response.
package migroup
import (
	"context"
	"errors"
	"fmt"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
	"net/http"
)
type MultipleInheritanceServiceClient struct {
	con *Connection
}
func NewMultipleInheritanceServiceClient(con *Connection) *MultipleInheritanceServiceClient {
	return &MultipleInheritanceServiceClient{con: con}
}
func (client *MultipleInheritanceServiceClient) GetCat(ctx context.Context, options *MultipleInheritanceServiceClientGetCatOptions) (MultipleInheritanceServiceClientGetCatResponse, error) {
	req, err := client.getCatCreateRequest(ctx, options)
	if err != nil {
		return MultipleInheritanceServiceClientGetCatResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientGetCatResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientGetCatResponse{}, client.getCatHandleError(resp)
	}
	return client.getCatHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) getCatCreateRequest(ctx context.Context, options *MultipleInheritanceServiceClientGetCatOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/cat"
	req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, nil
}
func (client *MultipleInheritanceServiceClient) getCatHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientGetCatResponse, error) {
	result := MultipleInheritanceServiceClientGetCatResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Cat); err != nil {
		return MultipleInheritanceServiceClientGetCatResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) getCatHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	errType := Error{raw: string(body)}
	if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
		return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
	}
	return runtime.NewResponseError(&errType, resp)
}
func (client *MultipleInheritanceServiceClient) GetFeline(ctx context.Context, options *MultipleInheritanceServiceClientGetFelineOptions) (MultipleInheritanceServiceClientGetFelineResponse, error) {
	req, err := client.getFelineCreateRequest(ctx, options)
	if err != nil {
		return MultipleInheritanceServiceClientGetFelineResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientGetFelineResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientGetFelineResponse{}, client.getFelineHandleError(resp)
	}
	return client.getFelineHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) getFelineCreateRequest(ctx context.Context, options *MultipleInheritanceServiceClientGetFelineOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/feline"
	req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, nil
}
func (client *MultipleInheritanceServiceClient) getFelineHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientGetFelineResponse, error) {
	result := MultipleInheritanceServiceClientGetFelineResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Feline); err != nil {
		return MultipleInheritanceServiceClientGetFelineResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) getFelineHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	errType := Error{raw: string(body)}
	if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
		return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
	}
	return runtime.NewResponseError(&errType, resp)
}
func (client *MultipleInheritanceServiceClient) GetHorse(ctx context.Context, options *MultipleInheritanceServiceClientGetHorseOptions) (MultipleInheritanceServiceClientGetHorseResponse, error) {
	req, err := client.getHorseCreateRequest(ctx, options)
	if err != nil {
		return MultipleInheritanceServiceClientGetHorseResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientGetHorseResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientGetHorseResponse{}, client.getHorseHandleError(resp)
	}
	return client.getHorseHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) getHorseCreateRequest(ctx context.Context, options *MultipleInheritanceServiceClientGetHorseOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/horse"
	req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, nil
}
func (client *MultipleInheritanceServiceClient) getHorseHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientGetHorseResponse, error) {
	result := MultipleInheritanceServiceClientGetHorseResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Horse); err != nil {
		return MultipleInheritanceServiceClientGetHorseResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) getHorseHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	errType := Error{raw: string(body)}
	if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
		return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
	}
	return runtime.NewResponseError(&errType, resp)
}
func (client *MultipleInheritanceServiceClient) GetKitten(ctx context.Context, options *MultipleInheritanceServiceClientGetKittenOptions) (MultipleInheritanceServiceClientGetKittenResponse, error) {
	req, err := client.getKittenCreateRequest(ctx, options)
	if err != nil {
		return MultipleInheritanceServiceClientGetKittenResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientGetKittenResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientGetKittenResponse{}, client.getKittenHandleError(resp)
	}
	return client.getKittenHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) getKittenCreateRequest(ctx context.Context, options *MultipleInheritanceServiceClientGetKittenOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/kitten"
	req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, nil
}
func (client *MultipleInheritanceServiceClient) getKittenHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientGetKittenResponse, error) {
	result := MultipleInheritanceServiceClientGetKittenResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Kitten); err != nil {
		return MultipleInheritanceServiceClientGetKittenResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) getKittenHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	errType := Error{raw: string(body)}
	if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
		return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
	}
	return runtime.NewResponseError(&errType, resp)
}
func (client *MultipleInheritanceServiceClient) GetPet(ctx context.Context, options *MultipleInheritanceServiceClientGetPetOptions) (MultipleInheritanceServiceClientGetPetResponse, error) {
	req, err := client.getPetCreateRequest(ctx, options)
	if err != nil {
		return MultipleInheritanceServiceClientGetPetResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientGetPetResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientGetPetResponse{}, client.getPetHandleError(resp)
	}
	return client.getPetHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) getPetCreateRequest(ctx context.Context, options *MultipleInheritanceServiceClientGetPetOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/pet"
	req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, nil
}
func (client *MultipleInheritanceServiceClient) getPetHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientGetPetResponse, error) {
	result := MultipleInheritanceServiceClientGetPetResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Pet); err != nil {
		return MultipleInheritanceServiceClientGetPetResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) getPetHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	errType := Error{raw: string(body)}
	if err := runtime.UnmarshalAsJSON(resp, &errType); err != nil {
		return runtime.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp)
	}
	return runtime.NewResponseError(&errType, resp)
}
func (client *MultipleInheritanceServiceClient) PutCat(ctx context.Context, cat Cat, options *MultipleInheritanceServiceClientPutCatOptions) (MultipleInheritanceServiceClientPutCatResponse, error) {
	req, err := client.putCatCreateRequest(ctx, cat, options)
	if err != nil {
		return MultipleInheritanceServiceClientPutCatResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientPutCatResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientPutCatResponse{}, client.putCatHandleError(resp)
	}
	return client.putCatHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) putCatCreateRequest(ctx context.Context, cat Cat, options *MultipleInheritanceServiceClientPutCatOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/cat"
	req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, runtime.MarshalAsJSON(req, cat)
}
func (client *MultipleInheritanceServiceClient) putCatHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientPutCatResponse, error) {
	result := MultipleInheritanceServiceClientPutCatResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Value); err != nil {
		return MultipleInheritanceServiceClientPutCatResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) putCatHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	if len(body) == 0 {
		return runtime.NewResponseError(errors.New(resp.Status), resp)
	}
	return runtime.NewResponseError(errors.New(string(body)), resp)
}
func (client *MultipleInheritanceServiceClient) PutFeline(ctx context.Context, feline Feline, options *MultipleInheritanceServiceClientPutFelineOptions) (MultipleInheritanceServiceClientPutFelineResponse, error) {
	req, err := client.putFelineCreateRequest(ctx, feline, options)
	if err != nil {
		return MultipleInheritanceServiceClientPutFelineResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientPutFelineResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientPutFelineResponse{}, client.putFelineHandleError(resp)
	}
	return client.putFelineHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) putFelineCreateRequest(ctx context.Context, feline Feline, options *MultipleInheritanceServiceClientPutFelineOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/feline"
	req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, runtime.MarshalAsJSON(req, feline)
}
func (client *MultipleInheritanceServiceClient) putFelineHandleResponse(resp *http.Response) (MultipleInheritanceServiceClientPutFelineResponse, error) {
	result := MultipleInheritanceServiceClientPutFelineResponse{RawResponse: resp}
	if err := runtime.UnmarshalAsJSON(resp, &result.Value); err != nil {
		return MultipleInheritanceServiceClientPutFelineResponse{}, runtime.NewResponseError(err, resp)
	}
	return result, nil
}
func (client *MultipleInheritanceServiceClient) putFelineHandleError(resp *http.Response) error {
	body, err := runtime.Payload(resp)
	if err != nil {
		return runtime.NewResponseError(err, resp)
	}
	if len(body) == 0 {
		return runtime.NewResponseError(errors.New(resp.Status), resp)
	}
	return runtime.NewResponseError(errors.New(string(body)), resp)
}
func (client *MultipleInheritanceServiceClient) PutHorse(ctx context.Context, horse Horse, options *MultipleInheritanceServiceClientPutHorseOptions) (MultipleInheritanceServiceClientPutHorseResponse, error) {
	req, err := client.putHorseCreateRequest(ctx, horse, options)
	if err != nil {
		return MultipleInheritanceServiceClientPutHorseResponse{}, err
	}
	resp, err := client.con.Pipeline().Do(req)
	if err != nil {
		return MultipleInheritanceServiceClientPutHorseResponse{}, err
	}
	if !runtime.HasStatusCode(resp, http.StatusOK) {
		return MultipleInheritanceServiceClientPutHorseResponse{}, client.putHorseHandleError(resp)
	}
	return client.putHorseHandleResponse(resp)
}
func (client *MultipleInheritanceServiceClient) putHorseCreateRequest(ctx context.Context, horse Horse, options *MultipleInheritanceServiceClientPutHorseOptions) (*policy.Request, error) {
	urlPath := "/multipleInheritance/horse"
	req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.con.Endpoint(), urlPath))
	if err != nil {
		return nil, err
	}
	req.Raw().Header.Set("Accept", "application/json")
	return req, runtime.MarshalAsJSON(req, horse)
}