コード例 #1
0
 /// <summary>
 /// Adds an Response object to the end of the FtpResponseQueue.
 /// </summary>
 /// <param name="item">An FtpResponse item.</param>
 public void Enqueue(FtpResponse item)
 {
     lock (this)
     {
         _queue.Enqueue(item);
     }
 }
コード例 #2
0
ファイル: FtpResponse.cs プロジェクト: simonegli8/Silversite
 /// <summary>
 /// Constructor for FtpResponse.
 /// </summary>
 /// <param name="response">FtpResponse object.</param>
 public FtpResponse(FtpResponse response)
 {
     _rawText = response.RawText;
     _text = response.Text;
     _code = response.Code;
     _isInformational = response.IsInformational;
 }
コード例 #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpItemParsingException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #4
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpDataCompressionException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpLoginException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #6
0
ファイル: FtpBase.cs プロジェクト: EsleEnoemos/Bummer
 private bool IsUnhappyResponse(FtpResponse response)
 {
     if (
          response.Code == FtpResponseCode.ServiceNotAvailableClosingControlConnection
         || response.Code == FtpResponseCode.CannotOpenDataConnection
         || response.Code == FtpResponseCode.ConnectionClosedSoTransferAborted
         || response.Code == FtpResponseCode.RequestedFileActionNotTaken
         || response.Code == FtpResponseCode.RequestedActionAbortedDueToLocalErrorInProcessing
         || response.Code == FtpResponseCode.RequestedActionNotTakenInsufficientStorage
         || response.Code == FtpResponseCode.SyntaxErrorCommandUnrecognized
         || response.Code == FtpResponseCode.SyntaxErrorInParametersOrArguments
         || response.Code == FtpResponseCode.CommandNotImplemented
         || response.Code == FtpResponseCode.BadSequenceOfCommands
         || response.Code == FtpResponseCode.CommandNotImplementedForThatParameter
         || response.Code == FtpResponseCode.NotLoggedIn
         || response.Code == FtpResponseCode.NeedAccountForStoringFiles
         || response.Code == FtpResponseCode.RequestedActionNotTakenFileUnavailable
         || response.Code == FtpResponseCode.RequestedActionAbortedPageTypeUnknown
         || response.Code == FtpResponseCode.RequestedFileActionAbortedExceededStorageAllocation
         || response.Code == FtpResponseCode.RequestedActionNotTakenFileNameNotAllowed)
         return true;
     else
         return false;
 }
コード例 #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpConnectionBrokenException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #8
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpFileIntegrityException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #9
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpConnectionOpenException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #10
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpConnectionOpenException(string message, FtpResponse response, Exception innerException)
     :  base(message, response, innerException)
 {
 }
コード例 #11
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpConnectionClosedException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #12
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpCommandNotSupportedException(string message, FtpResponse response, Exception innerException)
     :
     base(message, response, innerException)
 {
 }
コード例 #13
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpHashingInvalidAlgorithmException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #14
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpItemParsingException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #15
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpConnectionClosedException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #16
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="response">FtpResponse object.</param>
 public FtpResponseEventArgs(FtpResponse response)
 {
     _response = response;
 }
コード例 #17
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataConnectionTimeoutException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #18
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpConnectionBrokenException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #19
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpCommandResponseTimeoutException(string message, FtpResponse response, Exception innerException)
     :
     base(message, response, innerException)
 {
 }
コード例 #20
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpAuthenticationException(string message, FtpResponse response, Exception innerException)
     :
     base(message, response, innerException)
 {
 }
コード例 #21
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpCommandResponseTimeoutException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #22
0
ファイル: FtpBase.cs プロジェクト: EsleEnoemos/Bummer
        private void DontWaitForHappyCodes()
        {
            if (_responseQueue.Count == 0)
                return;

            _responseList.Clear();
            while (_responseQueue.Count > 0)
            {
                FtpResponse response = _responseQueue.Dequeue();
                _responseList.Add(response);
                RaiseServerResponseEvent(new FtpResponse(response));
            }
            _response = _responseList.GetLast();
        }
コード例 #23
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpAsynchronousOperationException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #24
0
ファイル: FtpLoginException.cs プロジェクト: jokalee/Amalgam
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpLoginException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #25
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpHashingServerBusyException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #26
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpCommandResponseTimeoutException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #27
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpHashingServerBusyException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #28
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpFeatureException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #29
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpSecureConnectionException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #30
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpAuthenticationException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #31
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataConnectionTimeoutException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #32
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpSecureConnectionException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #33
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpNetworkVersionException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #34
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataTransferException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #35
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpNetworkVersionException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #36
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataTransferException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #37
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpDataCompressionException(string message, FtpResponse response, Exception innerException)
     :  base(message, response, innerException)
 {
 }
コード例 #38
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpAsynchronousOperationException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #39
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataCompressionException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #40
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpFileIntegrityException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #41
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpCertificateValidationException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #42
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpAuthenticationException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #43
0
ファイル: FtpException.cs プロジェクト: EsleEnoemos/Bummer
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpException(string message, FtpResponse response, Exception innerException)
     : base(message, innerException)
 {
     _response = response;
 }
コード例 #44
0
ファイル: FtpBase.cs プロジェクト: EsleEnoemos/Bummer
        /// <summary>
        /// Waits until a happy code has been returned by the FTP server or times out.
        /// </summary>
        /// <param name="timeout">Maximum time to wait before timing out.</param>
        /// <param name="happyResponseCodes">Server response codes to wait for.</param>
        protected internal void WaitForHappyCodes(int timeout, params FtpResponseCode[] happyResponseCodes)
        {
            _responseList.Clear();
            do
            {
                FtpResponse response = GetNextCommandResponse(timeout);
                _responseList.Add(response);
                RaiseServerResponseEvent(new FtpResponse(response));

                if (!response.IsInformational)
                {
                    if (IsHappyResponse(response, happyResponseCodes))
                        break;

                    if (IsUnhappyResponse(response))
                    {
                        _response = response;
                        throw new FtpResponseException("FTP command failed.", response);
                    }
                }
            } while (true);

            _response = _responseList.GetLast();
        }
コード例 #45
0
ファイル: FtpException.cs プロジェクト: EsleEnoemos/Bummer
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpException(string message, FtpResponse response)
     : base(message)
 {
     _response = response;
 }
コード例 #46
0
ファイル: FtpBase.cs プロジェクト: EsleEnoemos/Bummer
        private bool IsHappyResponse(FtpResponse response, FtpResponseCode[] happyResponseCodes)
        {
            // always return true if there are no responses to validate
            if (happyResponseCodes.Length == 0)
                return true;

            for (int j = 0; j < happyResponseCodes.Length; j++)
            {
                if (happyResponseCodes[j] == response.Code)
                    return true;
            }
            return false;
        }
コード例 #47
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpException(string message, FtpResponse response, Exception innerException)
     :
     base(message, innerException)
 {
     _response = response;
 }
コード例 #48
0
ファイル: FtpBase.cs プロジェクト: EsleEnoemos/Bummer
 private void RaiseServerResponseEvent(FtpResponse response)
 {
     if (ServerResponse != null)
         ServerResponse(this, new FtpResponseEventArgs(response));
 }
コード例 #49
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpException(string message, FtpResponse response)
     : base(message)
 {
     _response = response;
 }
コード例 #50
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpProxyException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #51
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="response">FtpResponse object.</param>
 public FtpResponseEventArgs(FtpResponse response)
 {
     _response = response;
 }
コード例 #52
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpLoginException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #53
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpFileIntegrityException(string message, FtpResponse response, Exception innerException)
     :  base(message, response, innerException)
 {
 }
コード例 #54
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpCommandResponseTimeoutException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #55
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpFileIntegrityException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #56
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpDataCompressionException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #57
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 /// <param name="innerException">The inner exception object.</param>
 public FtpAuthenticationException(string message, FtpResponse response, Exception innerException)
     : base(message, response, innerException)
 {
 }
コード例 #58
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpFeatureException(string message, FtpResponse response)
     : base(message, response)
 {
 }
コード例 #59
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="message">Exception message text.</param>
 /// <param name="response">Ftp response object.</param>
 public FtpCertificateValidationException(string message, FtpResponse response)
     : base(message, response)
 {
 }