----------------------------------------------------------------- -- Autogenerated by Thrift -- -- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING -- @generated ----------------------------------------------------------------- {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE BangPatterns #-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_GHC -fno-warn-overlapping-patterns#-} {-# OPTIONS_GHC -fno-warn-incomplete-patterns#-} {-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns#-} {-# OPTIONS_GHC -fno-warn-incomplete-record-updates#-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Thrift.Protocol.ApplicationException.Types (ApplicationExceptionType(ApplicationExceptionType_Unknown, ApplicationExceptionType_UnknownMethod, ApplicationExceptionType_InvalidMessageType, ApplicationExceptionType_WrongMethodType, ApplicationExceptionType_BadSequenceId, ApplicationExceptionType_MissingResult, ApplicationExceptionType_InternalError, ApplicationExceptionType_ProtocolError, ApplicationExceptionType_InvalidTransform, ApplicationExceptionType_InvalidProtocol, ApplicationExceptionType_UnsupportedClientType, ApplicationExceptionType_Loadshedding, ApplicationExceptionType_Timeout, ApplicationExceptionType_InjectedFailure, ApplicationExceptionType__UNKNOWN), ApplicationException(ApplicationException, applicationException_message, applicationException_type)) where import qualified Control.DeepSeq as DeepSeq import qualified Control.Exception as Exception import qualified Control.Monad as Monad import qualified Control.Monad.ST.Trans as ST import qualified Control.Monad.Trans.Class as Trans import qualified Data.Aeson as Aeson import qualified Data.Aeson.Types as Aeson import qualified Data.Default as Default import qualified Data.Function as Function import qualified Data.HashMap.Strict as HashMap import qualified Data.Hashable as Hashable import qualified Data.Int as Int import qualified Data.List as List import qualified Data.Ord as Ord import qualified Data.Text as Text import qualified Data.Text.Encoding as Text import qualified GHC.Magic as GHC import qualified Prelude as Prelude import qualified Thrift.Binary.Parser as Parser import qualified Thrift.CodegenTypesOnly as Thrift import Control.Applicative ((<|>), (*>), (<*)) import Data.Aeson ((.:), (.:?), (.=), (.!=)) import Data.Monoid ((<>)) import Prelude ((.), (++), (>), (==)) import Prelude ((.), (<$>), (<*>), (>>=), (==), (/=), (<), (++)) data ApplicationExceptionType = ApplicationExceptionType_Unknown | ApplicationExceptionType_UnknownMethod | ApplicationExceptionType_InvalidMessageType | ApplicationExceptionType_WrongMethodType | ApplicationExceptionType_BadSequenceId | ApplicationExceptionType_MissingResult | ApplicationExceptionType_InternalError | ApplicationExceptionType_ProtocolError | ApplicationExceptionType_InvalidTransform | ApplicationExceptionType_InvalidProtocol | ApplicationExceptionType_UnsupportedClientType | ApplicationExceptionType_Loadshedding | ApplicationExceptionType_Timeout | ApplicationExceptionType_InjectedFailure | ApplicationExceptionType__UNKNOWN Prelude.Int deriving (Prelude.Eq, Prelude.Show, Prelude.Ord) instance Aeson.ToJSON ApplicationExceptionType where toJSON = Aeson.toJSON . Thrift.fromThriftEnum instance DeepSeq.NFData ApplicationExceptionType where rnf __ApplicationExceptionType = Prelude.seq __ApplicationExceptionType () instance Default.Default ApplicationExceptionType where def = ApplicationExceptionType_Unknown instance Hashable.Hashable ApplicationExceptionType where hashWithSalt _salt _val = Hashable.hashWithSalt _salt (Thrift.fromThriftEnum _val) instance Thrift.ThriftEnum ApplicationExceptionType where toThriftEnum 0 = ApplicationExceptionType_Unknown toThriftEnum 1 = ApplicationExceptionType_UnknownMethod toThriftEnum 2 = ApplicationExceptionType_InvalidMessageType toThriftEnum 3 = ApplicationExceptionType_WrongMethodType toThriftEnum 4 = ApplicationExceptionType_BadSequenceId toThriftEnum 5 = ApplicationExceptionType_MissingResult toThriftEnum 6 = ApplicationExceptionType_InternalError toThriftEnum 7 = ApplicationExceptionType_ProtocolError toThriftEnum 8 = ApplicationExceptionType_InvalidTransform toThriftEnum 9 = ApplicationExceptionType_InvalidProtocol toThriftEnum 10 = ApplicationExceptionType_UnsupportedClientType toThriftEnum 11 = ApplicationExceptionType_Loadshedding toThriftEnum 12 = ApplicationExceptionType_Timeout toThriftEnum 13 = ApplicationExceptionType_InjectedFailure toThriftEnum val = ApplicationExceptionType__UNKNOWN val fromThriftEnum ApplicationExceptionType_Unknown = 0 fromThriftEnum ApplicationExceptionType_UnknownMethod = 1 fromThriftEnum ApplicationExceptionType_InvalidMessageType = 2 fromThriftEnum ApplicationExceptionType_WrongMethodType = 3 fromThriftEnum ApplicationExceptionType_BadSequenceId = 4 fromThriftEnum ApplicationExceptionType_MissingResult = 5 fromThriftEnum ApplicationExceptionType_InternalError = 6 fromThriftEnum ApplicationExceptionType_ProtocolError = 7 fromThriftEnum ApplicationExceptionType_InvalidTransform = 8 fromThriftEnum ApplicationExceptionType_InvalidProtocol = 9 fromThriftEnum ApplicationExceptionType_UnsupportedClientType = 10 fromThriftEnum ApplicationExceptionType_Loadshedding = 11 fromThriftEnum ApplicationExceptionType_Timeout = 12 fromThriftEnum ApplicationExceptionType_InjectedFailure = 13 fromThriftEnum (ApplicationExceptionType__UNKNOWN val) = val allThriftEnumValues = [ApplicationExceptionType_Unknown, ApplicationExceptionType_UnknownMethod, ApplicationExceptionType_InvalidMessageType, ApplicationExceptionType_WrongMethodType, ApplicationExceptionType_BadSequenceId, ApplicationExceptionType_MissingResult, ApplicationExceptionType_InternalError, ApplicationExceptionType_ProtocolError, ApplicationExceptionType_InvalidTransform, ApplicationExceptionType_InvalidProtocol, ApplicationExceptionType_UnsupportedClientType, ApplicationExceptionType_Loadshedding, ApplicationExceptionType_Timeout, ApplicationExceptionType_InjectedFailure] toThriftEnumEither 0 = Prelude.Right ApplicationExceptionType_Unknown toThriftEnumEither 1 = Prelude.Right ApplicationExceptionType_UnknownMethod toThriftEnumEither 2 = Prelude.Right ApplicationExceptionType_InvalidMessageType toThriftEnumEither 3 = Prelude.Right ApplicationExceptionType_WrongMethodType toThriftEnumEither 4 = Prelude.Right ApplicationExceptionType_BadSequenceId toThriftEnumEither 5 = Prelude.Right ApplicationExceptionType_MissingResult toThriftEnumEither 6 = Prelude.Right ApplicationExceptionType_InternalError toThriftEnumEither 7 = Prelude.Right ApplicationExceptionType_ProtocolError toThriftEnumEither 8 = Prelude.Right ApplicationExceptionType_InvalidTransform toThriftEnumEither 9 = Prelude.Right ApplicationExceptionType_InvalidProtocol toThriftEnumEither 10 = Prelude.Right ApplicationExceptionType_UnsupportedClientType toThriftEnumEither 11 = Prelude.Right ApplicationExceptionType_Loadshedding toThriftEnumEither 12 = Prelude.Right ApplicationExceptionType_Timeout toThriftEnumEither 13 = Prelude.Right ApplicationExceptionType_InjectedFailure toThriftEnumEither val = Prelude.Left ("toThriftEnumEither: not a valid identifier for enum ApplicationExceptionType: " ++ Prelude.show val) data ApplicationException = ApplicationException{applicationException_message :: Text.Text, applicationException_type :: ApplicationExceptionType} deriving (Prelude.Eq, Prelude.Show, Prelude.Ord) instance Aeson.ToJSON ApplicationException where toJSON (ApplicationException __field__message __field__type) = Aeson.object ("message" .= __field__message : "type" .= __field__type : Prelude.mempty) instance Thrift.ThriftStruct ApplicationException where buildStruct _proxy (ApplicationException __field__message __field__type) = Thrift.genStruct _proxy (Thrift.genField _proxy "message" (Thrift.getStringType _proxy) 1 0 (Thrift.genText _proxy __field__message) : Thrift.genField _proxy "type" (Thrift.getI32Type _proxy) 2 1 ((Thrift.genI32 _proxy . Prelude.fromIntegral . Thrift.fromThriftEnum) __field__type) : []) parseStruct _proxy = ST.runSTT (do Prelude.return () __field__message <- ST.newSTRef "" __field__type <- ST.newSTRef Default.def let _parse _lastId = do _fieldBegin <- Trans.lift (Thrift.parseFieldBegin _proxy _lastId _idMap) case _fieldBegin of Thrift.FieldBegin _type _id _bool -> do case _id of 1 | _type == Thrift.getStringType _proxy -> do !_val <- Trans.lift (Thrift.parseText _proxy) ST.writeSTRef __field__message _val 2 | _type == Thrift.getI32Type _proxy -> do !_val <- Trans.lift (Thrift.parseEnum _proxy "ApplicationExceptionType") ST.writeSTRef __field__type _val _ -> Trans.lift (Thrift.parseSkip _proxy _type (Prelude.Just _bool)) _parse _id Thrift.FieldEnd -> do !__val__message <- ST.readSTRef __field__message !__val__type <- ST.readSTRef __field__type Prelude.pure (ApplicationException __val__message __val__type) _idMap = HashMap.fromList [("message", 1), ("type", 2)] _parse 0) instance DeepSeq.NFData ApplicationException where rnf (ApplicationException __field__message __field__type) = DeepSeq.rnf __field__message `Prelude.seq` DeepSeq.rnf __field__type `Prelude.seq` () instance Default.Default ApplicationException where def = ApplicationException "" Default.def instance Hashable.Hashable ApplicationException where hashWithSalt __salt (ApplicationException _message _type) = Hashable.hashWithSalt (Hashable.hashWithSalt __salt _message) _type instance Exception.Exception ApplicationException