Пример #1
0
        private void Fail(TProtocol oprot, TMessage message, TApplicationException.ExceptionType extype, string etxt)
        {
            TApplicationException tApplicationException = new TApplicationException(extype, etxt);
            TMessage tMessage = new TMessage(message.Name, TMessageType.Exception, message.SeqID);

            oprot.WriteMessageBegin(tMessage);
            tApplicationException.Write(oprot);
            oprot.WriteMessageEnd();
            oprot.Transport.Flush();
        }
Пример #2
0
        private void Fail(TProtocol oprot, TMessage message, TApplicationException.ExceptionType extype, String etxt)
        {
            var appex = new TApplicationException(extype, etxt);

            var newMessage = new TMessage(message.Name, TMessageType.Exception, message.SeqID);

            oprot.WriteMessageBegin(newMessage);
            appex.Write(oprot);
            oprot.WriteMessageEnd();
            oprot.Transport.Flush();
        }
Пример #3
0
        public static TApplicationException Read(TProtocol iprot)
        {
            string str = null;

            TApplicationException.ExceptionType exceptionType = TApplicationException.ExceptionType.Unknown;
            iprot.ReadStructBegin();
            while (true)
            {
                TField tField = iprot.ReadFieldBegin();
                if (tField.Type == TType.Stop)
                {
                    break;
                }
                switch (tField.ID)
                {
                case 1:
                {
                    if (tField.Type != TType.String)
                    {
                        TProtocolUtil.Skip(iprot, tField.Type);
                        break;
                    }
                    else
                    {
                        str = iprot.ReadString();
                        break;
                    }
                }

                case 2:
                {
                    if (tField.Type != TType.I32)
                    {
                        TProtocolUtil.Skip(iprot, tField.Type);
                        break;
                    }
                    else
                    {
                        exceptionType = (TApplicationException.ExceptionType)iprot.ReadI32();
                        break;
                    }
                }

                default:
                {
                    TProtocolUtil.Skip(iprot, tField.Type);
                    break;
                }
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
            return(new TApplicationException(exceptionType, str));
        }
Пример #4
0
        private async Task FailAsync(TProtocol oprot, TMessage message, TApplicationException.ExceptionType extype,
                                     string etxt, CancellationToken cancellationToken)
        {
            var appex = new TApplicationException(extype, etxt);

            var newMessage = new TMessage(message.Name, TMessageType.Exception, message.SeqID);

            await oprot.WriteMessageBeginAsync(newMessage, cancellationToken);

            await appex.WriteAsync(oprot, cancellationToken);

            await oprot.WriteMessageEndAsync(cancellationToken);

            await oprot.Transport.FlushAsync(cancellationToken);
        }
Пример #5
0
        public static TApplicationException CreateAndWriteApplicationException(TProtocol outProtocol,
                                                                               IRequestContext requestContext,
                                                                               string methodName,
                                                                               int sequenceId,
                                                                               TApplicationException.ExceptionType exceptionType,
                                                                               string message,
                                                                               AggregateException cause,
                                                                               ILogger logger)
        {
            // unexpected exception
            String error = message;

            if (cause != null)
            {
                error = String.Concat(error, $"{Environment.NewLine}{cause.ToString()}");
            }
            TApplicationException applicationException = new TApplicationException(exceptionType, error);

            return(WriteApplicationException(outProtocol, requestContext, methodName, sequenceId, applicationException, logger));
        }
Пример #6
0
 public TApplicationException(TApplicationException.ExceptionType type, string message) : base(message)
 {
     this.type = type;
 }
Пример #7
0
 public TApplicationException(TApplicationException.ExceptionType type)
 {
     this.type = type;
 }