on master help sign in
33 lines 574 B history raw
1{-# LANGUAGE DataKinds #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DerivingStrategies #-}
6{-# LANGUAGE TypeOperators #-}
8module Put where
10import Data.Aeson
11import Data.Hashable
12import GHC.Generics (Generic)
13import Servant
15type Api =
16 Get '[JSON] Foo
17 :<|> ReqBody '[JSON] Foo :> Put '[JSON] ()
18 :<|> ReqBody '[JSON] Foo :> Put '[JSON] NoContent
20data Foo = Foo
21 deriving (Eq, Show, Generic)
23instance Hashable Foo
25instance ToJSON Foo
27instance FromJSON Foo
29server :: Server Api
30server =
31 pure Foo
32 :<|> const (pure ())
33 :<|> const (pure NoContent)