public static Task <IHttpResult> ToHttpResult(this Task <HttpResponseMessage> responseMessageTask, Type returnObjectType, HttpClientSettings httpClientSettings)
        {
            var actionContext = new EmptyActionContext();

            actionContext.HttpClientSettings = httpClientSettings;
            actionContext.ReturnTypeDescription.ReturnType       = typeof(IHttpResult);
            actionContext.ReturnTypeDescription.TargetObjectType = returnObjectType;

            return(responseMessageTask.Then(responseMessage => ToHttpResult(responseMessage, returnObjectType, actionContext)));
        }
        public static async Task <IHttpResult <TofResult> > ToHttpResult <TofResult>(this HttpResponseMessage responseMessage, JsonSerializerSettings jsonSerializerSettings)
        {
            var actionContext = new EmptyActionContext();

            actionContext.HttpClientSettings = new HttpClientSettings()
            {
                JsonSerializerSettings = jsonSerializerSettings
            };
            actionContext.ReturnTypeDescription.ReturnType       = typeof(IHttpResult <TofResult>);
            actionContext.ReturnTypeDescription.TargetObjectType = typeof(TofResult);

            var result = await ToHttpResult(responseMessage, typeof(TofResult), actionContext);

            return(result as IHttpResult <TofResult>);
        }