private PopWebResponse GetListResponse()
        {
            PopScanListing[] scanLists;

              var response = new PopWebResponse(Session.List(out scanLists));

              if (response.Result.Failed)
            return response;

              response.ScanLists = scanLists;

              return response;
        }
        private PopWebResponse GetRetrResponse()
        {
            Stream messageStream;

              var response = new PopWebResponse(Session.Retr(MessageNumber, out messageStream));

              if (response.Result.Failed)
            return response;

              if (DeleteAfterRetrieve)
            Session.Dele(MessageNumber);

              response.RetrievedMessageStream = messageStream;

              return response;
        }
        private PopWebResponse GetListResponse()
        {
            PopScanListing scanList;

              var response = new PopWebResponse(Session.List(MessageNumber, out scanList));

              if (response.Result.Failed)
            return response;

              response.ScanLists = new[] {scanList};

              return response;
        }
        private PopWebResponse GetUidlResponse()
        {
            PopUniqueIdListing uniqueIdList;

              var response = new PopWebResponse(Session.Uidl(MessageNumber, out uniqueIdList));

              if (response.Result.Failed)
            return response;

              response.UniqueIdLists = new[] {uniqueIdList};

              return response;
        }
        private PopWebResponse GetTopResponse()
        {
            Stream messageStream;

              var response = new PopWebResponse(Session.Top(MessageNumber, 0, out messageStream));

              if (response.Result.Failed)
            return response;

              response.RetrievedMessageStream = messageStream;

              return response;
        }
Exemple #6
0
        private PopWebResponse GetResponseProc()
        {
            try {
            PopCommandResult noopResult;

            GetSession(out noopResult);

            PopWebResponse response;

            try {
              try {
            if (string.Equals(Method, PopWebRequestMethods.NoOp, StringComparison.OrdinalIgnoreCase)) {
              if (noopResult == null)
                response = GetNoOpResponse();
              else
                response = new PopWebResponse(noopResult);
            }
            else {
              response = InternalGetResponse();
            }
              }
              catch (TimeoutException ex) {
            throw new WebException("timed out", ex, WebExceptionStatus.Timeout, null);
              }
              catch (PopException ex) {
            if (ex is PopProtocolViolationException)
              throw new ProtocolViolationException(ex.Message);
            else if (ex is PopIncapableException)
              throw new ProtocolViolationException(ex.Message);
            else
              throw new WebException("unexpected error", ex, WebExceptionStatus.UnknownError, null);
              }

              response.SetSessionInfo(session);
            }
            finally {
              if (!KeepAlive)
            CloseSession();
            }

            if (response.ResponseUri == null)
              response.SetResponseUri(requestUri);

            if (response.Result.Succeeded)
              // succeeded
              return response;

            if (expectedErrorResponseCodes != null && response.ResponseCode != null) {
              foreach (var code in expectedErrorResponseCodes) {
            if (response.ResponseCode == code)
              // expected error
              return response;
              }
            }

            // unexpected error
            throw new WebException(response.ResponseDescription, null, WebExceptionStatus.ProtocolError, response);
              }
              finally {
            session = null;
              }
        }
        private PopWebResponse GetStatResponse()
        {
            PopDropListing dropList;

              var response = new PopWebResponse(Session.Stat(out dropList));

              if (response.Result.Failed)
            return response;

              response.DropList = dropList;

              return response;
        }
        private PopWebResponse GetUidlResponse()
        {
            PopUniqueIdListing[] uniqueIdLists;

              var response = new PopWebResponse(Session.Uidl(out uniqueIdLists));

              if (response.Result.Failed)
            return response;

              response.UniqueIdLists = uniqueIdLists;

              return response;
        }