glean-0.1.0.0: glean/if/index/gen-hs2/Glean/Index/GleanIndexingService/Service.hs
-----------------------------------------------------------------
-- 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 GADTs #-}
module Glean.Index.GleanIndexingService.Service
(GleanIndexingServiceCommand(..), reqName', reqParser',
respWriter', methodsInfo')
where
import qualified Control.Exception as Exception
import qualified Control.Monad.ST.Trans as ST
import qualified Control.Monad.Trans.Class as Trans
import qualified Data.ByteString.Builder as Builder
import qualified Data.Default as Default
import qualified Data.HashMap.Strict as HashMap
import qualified Data.Int as Int
import qualified Data.Map.Strict as Map
import qualified Data.Proxy as Proxy
import qualified Data.Text as Text
import qualified Glean.GleanService.Service as GleanService
import qualified Glean.Index.Types as Types
import qualified Glean.Types as Glean
import qualified Prelude as Prelude
import qualified Thrift.Binary.Parser as Parser
import qualified Thrift.Codegen as Thrift
import qualified Thrift.Processor as Thrift
import qualified Thrift.Protocol.ApplicationException.Types
as Thrift
import Control.Applicative ((<*), (*>))
import Data.Monoid ((<>))
import Prelude ((<$>), (<*>), (++), (.), (==))
data GleanIndexingServiceCommand a where
Index ::
Types.IndexRequest ->
GleanIndexingServiceCommand Types.IndexResponse
SuperGleanService ::
GleanService.GleanServiceCommand a -> GleanIndexingServiceCommand a
instance Thrift.Processor GleanIndexingServiceCommand where
reqName = reqName'
reqParser = reqParser'
respWriter = respWriter'
methodsInfo _ = methodsInfo'
reqName' :: GleanIndexingServiceCommand a -> Text.Text
reqName' (Index __field__request) = "index"
reqName' (SuperGleanService x) = GleanService.reqName' x
reqParser' ::
Thrift.Protocol p =>
Proxy.Proxy p ->
Text.Text ->
Parser.Parser (Thrift.Some GleanIndexingServiceCommand)
reqParser' _proxy "index"
= ST.runSTT
(do Prelude.return ()
__field__request <- 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.getStructType _proxy
->
do !_val <- Trans.lift
(Thrift.parseStruct
_proxy)
ST.writeSTRef __field__request
_val
_ -> Trans.lift
(Thrift.parseSkip _proxy _type
(Prelude.Just _bool))
_parse _id
Thrift.FieldEnd -> do !__val__request <- ST.readSTRef
__field__request
Prelude.pure (Thrift.Some (Index __val__request))
_idMap = HashMap.fromList [("request", 1)]
_parse 0)
reqParser' _proxy funName
= do Thrift.Some x <- GleanService.reqParser' _proxy funName
Prelude.return (Thrift.Some (SuperGleanService x))
respWriter' ::
Thrift.Protocol p =>
Proxy.Proxy p ->
Int.Int32 ->
GleanIndexingServiceCommand a ->
Prelude.Either Exception.SomeException a ->
(Builder.Builder,
Prelude.Maybe (Exception.SomeException, Thrift.Blame))
respWriter' _proxy _seqNum Index{} _r
= (Thrift.genMsgBegin _proxy "index" _msgType _seqNum <> _msgBody
<> Thrift.genMsgEnd _proxy,
_msgException)
where
(_msgType, _msgBody, _msgException)
= case _r of
Prelude.Left _ex | Prelude.Just
_e@Thrift.ApplicationException{} <- Exception.fromException _ex
->
(3, Thrift.buildStruct _proxy _e,
Prelude.Just (_ex, Thrift.ServerError))
| Prelude.Just
_e@Types.NoIndexerAvailable{} <- Exception.fromException _ex
->
(2,
Thrift.genStruct _proxy
[Thrift.genField _proxy "n" (Thrift.getStructType _proxy) 1 0
(Thrift.buildStruct _proxy _e)],
Prelude.Just (_ex, Thrift.ClientError))
| Prelude.Just _e@Glean.Exception{} <- Exception.fromException _ex
->
(2,
Thrift.genStruct _proxy
[Thrift.genField _proxy "e" (Thrift.getStructType _proxy) 2 0
(Thrift.buildStruct _proxy _e)],
Prelude.Just (_ex, Thrift.ClientError))
| Prelude.otherwise ->
let _e
= Thrift.ApplicationException (Text.pack (Prelude.show _ex))
Thrift.ApplicationExceptionType_InternalError
in
(3, Thrift.buildStruct _proxy _e,
Prelude.Just (Exception.toException _e, Thrift.ServerError))
Prelude.Right _result -> (2,
Thrift.genStruct _proxy
[Thrift.genField _proxy "" (Thrift.getStructType _proxy) 0 0
(Thrift.buildStruct _proxy _result)],
Prelude.Nothing)
respWriter' _proxy _seqNum (SuperGleanService _x) _r
= GleanService.respWriter' _proxy _seqNum _x _r
methodsInfo' :: Map.Map Text.Text Thrift.MethodInfo
methodsInfo'
= Map.union
(Map.fromList
[("index", Thrift.MethodInfo Thrift.NormalPriority Prelude.False)])
GleanService.methodsInfo'