Esempio n. 1
0
        public async Task <EmarsysResponse <TModel> > SendRequest <TModel>(EmarsysClient.Method method, string urlPath, string requestBody = null, CancellationToken cancellationToken = default)
        {
            var response = await MakeRequest(method, urlPath, requestBody, cancellationToken);

            var result = await response.Content.ReadAsStringAsync();

            return(JsonSerializer.Deserialize <EmarsysResponse <TModel> >(result, new JsonSerializerOptions {
                PropertyNameCaseInsensitive = true
            }));
        }
Esempio n. 2
0
        private async Task <HttpResponseMessage> MakeRequest(EmarsysClient.Method method, string urlPath, string requestBody = null, CancellationToken cancellationToken = default)
        {
            var request = new HttpRequestMessage
            {
                Method     = new HttpMethod(method.ToString()),
                RequestUri = new Uri(_client.BaseAddress, urlPath),
                Content    = requestBody == null ? null : new StringContent(requestBody, Encoding.UTF8, DefaultMediaType)
            };

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(DefaultMediaType));
            request.Headers.Add(DefaultAuthHeaderName, GetAuthHeader());
            return(await _client.SendAsync(request, cancellationToken));
        }