[
Size: a a a
[
[
[
[

[
к
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
import Data.Proxy
import Servant.API
import Servant.API.Generic
import Servant.Client
import Servant.Client.Generic
data VKAPI route = VKAPI
{ a :: route :- Get '[PlainText] String,
b :: route :- Capture "val" String :> Get '[PlainText] String
}
deriving (Generic)
type API = "vk" :> Capture "token" String :> ToServantApi VKAPI
main = do
let token = "hello"
let VKAPI {a, b} = fromServant @_ @(AsClientT _) (client (Proxy @API) token)
pure ()JJ
JJ
к
run :: ClientM a -> IO a
run client =
runClientM client env >>= \case
Left err -> throwIO err
Right x -> pure x
where
env = undefined
main = do
let token = "hello"
let api = Proxy @API
let vk = fromServant @VKAPI @(AsClientT _) (hoistClient api run (client api) token)
q <- vk.a
w <- vk.b "hello"
pure ()[
[