Ejemplo n.º 1
0
        /// <summary>
        /// Perform a Request by an IRESTRequest object
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <IRESTResponse> PerformRequestAsync(IRESTRequest request)
        {
            IRESTResponse response = null;

            switch (request.GetMethod())
            {
            case Method.POST:
            {
                response = await this.PerformPostRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders(), request.GetContent());

                break;
            }

            case Method.PUT:
            {
                response = await this.PerformPutRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders(), request.GetContent());

                break;
            }

            case Method.GET:
            {
                response = await this.PerformGetRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders());

                break;
            }

            case Method.PATCH:
            {
                response = await this.PerformPatchRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders(), request.GetContent());

                break;
            }

            case Method.OPTIONS:
            {
                response = await this.PerformOptionsRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders(), request.GetContent());

                break;
            }

            case Method.HEAD:
            {
                response = await this.PerformHeadRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders());

                break;
            }

            case Method.DELETE:
            {
                response = await this.PerformDeleteRequestAsync(request.GetUrl(), request.GetQueryArgs(), request.GetHeaders());

                break;
            }
            }
            return(response);
        }