Esempio n. 1
0
 public DefaultHttpRequestBuilder(
     IHttpContentGenerator contentGenerator,
     ILogger <DefaultHttpRequestBuilder> logger)
 {
     _contentGenerator = contentGenerator;
     _logger           = logger;
 }
Esempio n. 2
0
        /// <summary>
        /// Faz uma requisição do tipo POST, serializando o request informado e deserializando a resposta em um Result.
        /// </summary>
        /// <typeparam name="TResponse"></typeparam>
        /// <param name="httpClient"></param>
        /// <param name="requestUri">URI para realização da chamada HTTP. A URL chamada no HTTP será composta pela URI Base + esta URI.</param>
        /// <param name="bodyObject">Objeto que será serializado para envio no body da requisição.</param>
        /// <param name="httpContentGenerator">O tipo de gerador do conteúdo Http. Exemplo: json, xml, etc.</param>
        /// <param name="headers"></param>
        /// <returns></returns>
        public static async Task <Result <TResponse> > PostResultAsync <TResponse>(this HttpClient httpClient, string requestUri, object bodyObject, IHttpContentGenerator httpContentGenerator, Dictionary <string, string> headers = null)
            where TResponse : class, new()
        {
            HttpContent content = httpContentGenerator.GenerateContent(bodyObject);

            return(await SendHttpRequestAsync <TResponse>(httpClient, HttpVerb.Post, requestUri, content, headers));
        }