public void Create(IAPIRestRequest apiRestRequest)
        {
            var accessToken = _accessTokenFunc();

            if (string.IsNullOrEmpty(accessToken))
            {
                return;
            }

            var authParamValue = $"bearer {accessToken}";

            base.Create(apiRestRequest, authParamValue);
        }
        protected void Create(IAPIRestRequest apiRestRequest, string parameterValue)
        {
            var authParam = apiRestRequest.Parameters.FirstOrDefault(p => p.Name.Equals("Authorization", StringComparison.OrdinalIgnoreCase));

            if (authParam != null)
            {
                authParam.Value = parameterValue;
            }
            else
            {
                apiRestRequest.Parameters.Add(new Parameter
                {
                    Name  = "Authorization",
                    Value = parameterValue,
                    Type  = ParameterType.HttpHeader
                });
            }
        }
Exemplo n.º 3
0
        public async Task <IAPIRestResponse> ExecuteAsync(IAPIRestRequest apiRestRequest)
        {
            AuthenticationHeaderInitializer?.Create(apiRestRequest);

            var restRequest = Convert(apiRestRequest);

            var asyncTask = _restClient.ExecuteTaskAsync(restRequest);

            var restResponse = await asyncTask.ConfigureAwait(false);

            var apiRestResponse = Convert(restResponse);

            if (apiRestResponse.StatusCode != HttpStatusCode.OK && apiRestResponse.StatusCode != HttpStatusCode.NoContent)
            {
                apiRestResponse = ExecuteHandlers(apiRestResponse);
            }

            return(apiRestResponse);
        }
Exemplo n.º 4
0
        private IRestRequest Convert(IAPIRestRequest apiRestRequest)
        {
            var restRequest = new RestRequest(apiRestRequest.Resource, (Method)apiRestRequest.Method);

            if (apiRestRequest.Content != null)
            {
                restRequest.JsonSerializer = new Serializer();
                restRequest.AddJsonBody(apiRestRequest.Content);
            }

            foreach (var header in apiRestRequest.Headers)
            {
                restRequest.AddHeader(header.Key, header.Value);
            }

            restRequest.Timeout = apiRestRequest.Timeout;

            foreach (var parameter in apiRestRequest.Parameters)
            {
                ConvertParameter(parameter, restRequest);
            }

            return(restRequest);
        }
 public void Create(IAPIRestRequest apiRestRequest)
 {
     base.Create(apiRestRequest, _authHeader);
 }