Ejemplo n.º 1
0
        private IRestResponse ExecuteRequest(IYouTrackRequest request, Method method)
        {
            IRestRequest  restRequest  = new RestRequest(request.RestResource, method);
            IRestResponse restResponse = restClient.Execute(restRequest);

            ThrowIfRequestFailed(restResponse);

            return(restResponse);
        }
Ejemplo n.º 2
0
        private IRestResponse ExecuteRequest(IYouTrackRequest request, Method method)
        {
            IRestRequest restRequest = new RestRequest(request.RestResource, method);
            IRestResponse restResponse = restClient.Execute(restRequest);

            ThrowIfRequestFailed(restResponse);

            return restResponse;
        }
Ejemplo n.º 3
0
        private IRestResponse <TResponse> ExecuteRequest <TResponse>(IYouTrackRequest request, Method method) where TResponse : new()
        {
            IRestRequest restRequest = CreateRestRequest(request, method);
            IRestResponse <TResponse> restResponse = restClient.Execute <TResponse>(restRequest);

            ThrowIfRequestFailed(restResponse);

            return(restResponse);
        }
Ejemplo n.º 4
0
        private IRestResponse ExecuteRequest(IYouTrackRequest request, Method method)
        {
            IRestRequest  restRequest  = requestFactory.CreateRestRequest(request, session, method);
            IRestResponse restResponse = restClient.Execute(restRequest);

            ThrowIfRequestFailed(restResponse);

            return(restResponse);
        }
Ejemplo n.º 5
0
        public IRestRequest CreateRestRequest(IYouTrackRequest request, ISession session, Method method)
        {
            RestRequest restRequest = new RestRequest(request.RestResource, method);

            if (request.HasBody)
            {
                restRequest.AddBody(request.Body);
            }

            SetAcceptToXml(restRequest);

            if (session.IsAuthenticated)
            {
                SetAuthenticationCookies(restRequest, session.AuthenticationCookies);
            }

            return(restRequest);
        }
        public IRestRequest CreateRestRequest(IYouTrackRequest request, ISession session, Method method)
        {
            RestRequest restRequest = new RestRequest(request.RestResource, method);

            if(request.HasBody)
            {
                restRequest.AddBody(request.Body);
            }

            SetAcceptToXml(restRequest);

            if (session.IsAuthenticated)
            {
                SetAuthenticationCookies(restRequest, session.AuthenticationCookies);
            }

            return restRequest;
        }
 public IRestRequest CreateRestRequest(IYouTrackRequest request, ISession session, Method method)
 {
     return restRequestFactory.CreateRestRequest(request, session, method);
 }
		/// <summary>
		/// 	Выполняет запрос к серверу YouTrack
		/// </summary>
		/// <param name="request"> </param>
		/// <returns> </returns>
		public IYouTrackResponse Execute(IYouTrackRequest request) {
			lock(this) {
				if (_cookies.Count == 0) {
					TestConnection();
				}
				try {
					return DirectExecute(request);
				}
				catch (YouTrackConnectionException) {
					TestConnection();
					return DirectExecute(request);
				}
			}
		}
		private IYouTrackResponse DirectExecute(IYouTrackRequest request) {
			var result = new YouTrackResponse();
			using (
				var webresult = GetResponse(_server + ("/rest/" + request.Command).Replace("//", "/"), request.Method,
				                            request.Parameters)) {
				var content = string.Empty;
				using (var sr = new StreamReader(webresult.GetResponseStream(), Encoding.UTF8)) {
					content = sr.ReadToEnd();
				}
				if (content.IsEmpty()) {
					content = "<location>" + webresult.Headers["Location"] + "</location>";
				}
				result.Content = XElement.Parse(content);
			}
			return result;
		}
		/// <summary>
		/// 	Создает новое исключение при работе YouTrack соединения
		/// </summary>
		/// <param name="message"> Пользовательское сообшение </param>
		/// <param name="server"> Адрес сервера </param>
		/// <param name="user"> Пользователь (login) </param>
		/// <param name="request"> Запрос </param>
		/// <param name="innerException"> Внутреннее необработанное исключение </param>
		public YouTrackConnectionException(string message, string server, string user, IYouTrackRequest request,
		                                   Exception innerException) : base(message, innerException) {
			_server = server;
			_user = user;
			_request = request;
		}
Ejemplo n.º 11
0
 protected override void SetupDependencies()
 {
     session = Mock <ISession>();
     authenticationCookies = CreateAuthenticationCookies();
     youTrackRequest       = Mock <IYouTrackRequest>();
 }
		/// <summary>
		/// 	Создает новое исключение при работе c API YouTrack
		/// </summary>
		/// <param name="errorInfo"> Информация об ошибке </param>
		/// <param name="request"> Запрос, при выполнении которого произошла ошибка </param>
		/// <param name="innerException"> </param>
		/// <exception cref="NotImplementedException"></exception>
		public YouTrackApiException(string errorInfo, IYouTrackRequest request, Exception innerException)
			: base(errorInfo, innerException) {
			Request = request;
		}
Ejemplo n.º 13
0
        private IRestResponse <TResponse> ExecuteRequestWithAuthentication <TResponse>(IYouTrackRequest request, Method method) where TResponse : new()
        {
            LoginIfNotAuthenticated();

            return(ExecuteRequest <TResponse>(request, method));
        }
Ejemplo n.º 14
0
        private IRestResponse ExecuteRequestWithAuthentication(IYouTrackRequest request, Method method)
        {
            LoginIfNotAuthenticated();

            return(ExecuteRequest(request, method));
        }
 public IRestRequest CreateRestRequest(IYouTrackRequest request, ISession session, Method method)
 {
     return(restRequestFactory.CreateRestRequest(request, session, method));
 }