Esempio n. 1
0
        private async Task <T> CallFunctionAsync <T>(string methodUrl, object context, HttpMethod method, RequestParameters <T> requestParameters)
        {
            HttpMethod httpMethod = method;

            if ((object)httpMethod == null)
            {
                httpMethod = HttpMethod.Post;
            }
            method = httpMethod;
            switch (method.GetRequestMethod())
            {
            case RequestMethods.GET:
                methodUrl += GetQueryParameters(context);
                return(await MakeGetRequestAsync <T>(methodUrl, requestParameters));

            case RequestMethods.POST:
                return(await MakePostRequestAsync <T>(methodUrl, context, requestParameters));

            case RequestMethods.PUT:
                return(await MakePutRequestAsync <T>(methodUrl, context, requestParameters));

            case RequestMethods.DELETE:
                methodUrl += GetQueryParameters(context);
                return(await MakeDeleteRequestAsync <T>(methodUrl, requestParameters));

            case RequestMethods.PATCH:
                return(await MakePatchRequestAsync <T>(methodUrl, context, requestParameters));

            default:
                throw new ArgumentOutOfRangeException("method");
            }
        }