@@ -39,34 +39,36 @@ module Servant.Reflex
40------------------------------------------------------------------------------
40------------------------------------------------------------------------------
41import Control.Applicative
41import Control.Applicative
42−import Data.Monoid ((<>))
43−import qualified Data.Set as Set
44−import qualified Data.Text.Encoding as E
45import qualified Data.CaseInsensitive as CI
42import qualified Data.CaseInsensitive as CI
46import Data.Functor.Identity
43import Data.Functor.Identity
47−import Data.Proxy (Proxy (..))
48import qualified Data.Map as Map
44import qualified Data.Map as Map
45+import Data.Monoid ((<>))
46+import Data.Proxy (Proxy (..))
47+import qualified Data.Set as Set
49import Data.Text (Text)
48import Data.Text (Text)
50import qualified Data.Text as T
49import qualified Data.Text as T
50+import qualified Data.Text.Encoding as E
51import GHC.Exts (Constraint)
51import GHC.Exts (Constraint)
52import GHC.TypeLits (KnownSymbol, symbolVal)
52import GHC.TypeLits (KnownSymbol, symbolVal)
53−import Servant.API ((:<|>)(..),(:>), BasicAuth,
53+import Servant.API ((:<|>) (..), (:>), BasicAuth,
54− BasicAuthData, BuildHeadersTo(..),
54+ BasicAuthData, BuildHeadersTo (..),
55− Capture, contentType, Header,
55+ Capture, Header, Headers (..),
56− Headers(..), HttpVersion, IsSecure,
56+ HttpVersion, IsSecure,
57− MimeRender(..), MimeUnrender,
57+ MimeRender (..), MimeUnrender,
58 NoContent, QueryFlag, QueryParam,
58 NoContent, QueryFlag, QueryParam,
59− QueryParams, Raw, ReflectMethod(..),
59+ QueryParams, Raw, ReflectMethod (..),
60 RemoteHost, ReqBody,
60 RemoteHost, ReqBody,
61− ToHttpApiData(..), Vault, Verb)
61+ ToHttpApiData (..), Vault, Verb,
63+import Servant.API.Description (Summary)
62import qualified Servant.Auth as Auth
64import qualified Servant.Auth as Auth
64import Reflex.Dom.Core (Dynamic, Event, Reflex,
66import Reflex.Dom.Core (Dynamic, Event, Reflex,
65− XhrRequest(..),
67+ XhrRequest (..), XhrResponse (..),
66− XhrResponseHeaders(..),
68+ XhrResponseHeaders (..),
67− XhrResponse(..), attachPromptlyDynWith, constDyn, ffor, fmapMaybe,
69+ attachPromptlyDynWith, constDyn, ffor,
68− leftmost, performRequestsAsync,
71+ performRequestsAsync)
70------------------------------------------------------------------------------
72------------------------------------------------------------------------------
71import Servant.Common.BaseUrl (BaseUrl(..), Scheme(..), baseUrlWidget,
73import Servant.Common.BaseUrl (BaseUrl(..), Scheme(..), baseUrlWidget,
72 showBaseUrl,
74 showBaseUrl,
@@ -327,6 +329,19 @@ instance HasClient t m sublayout tag
327 clientWithRouteAndResultHandler Proxy =
329 clientWithRouteAndResultHandler Proxy =
328 clientWithRouteAndResultHandler (Proxy :: Proxy sublayout)
330 clientWithRouteAndResultHandler (Proxy :: Proxy sublayout)
332+-- | Using a 'Summary' combinator in your API doesn't affect the client
334+instance (HasClient t m sublayout tag, KnownSymbol sym)
335+ => HasClient t m (Summary sym :> sublayout) tag where
337+ type Client t m (Summary sym :> sublayout) tag =
338+ Client t m sublayout tag
340+ clientWithRouteAndResultHandler Proxy =
341+ clientWithRouteAndResultHandler (Proxy :: Proxy sublayout)
331-- | If you use a 'QueryParam' in one of your endpoints in your API,
346-- | If you use a 'QueryParam' in one of your endpoints in your API,
332-- the corresponding querying function will automatically take
347-- the corresponding querying function will automatically take