Skip to content

Commit 4005975

Browse files
committed
Review remarks
1 parent 6ad0adc commit 4005975

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/Servant/OpenApi/Internal.hs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
{-# LANGUAGE TupleSections #-}
1313
{-# LANGUAGE AllowAmbiguousTypes #-}
1414
{-# LANGUAGE MultiParamTypeClasses #-}
15-
#if __GLASGOW_HASKELL__ >= 806
1615
{-# LANGUAGE UndecidableInstances #-}
17-
#endif
1816
{-# OPTIONS_GHC -Wno-orphans #-}
1917
module Servant.OpenApi.Internal where
2018

@@ -473,6 +471,9 @@ instance AllToResponseHeader hs => AllToResponseHeader (HList hs) where
473471

474472
type DeclareDefinition = Declare (Definitions Schema)
475473

474+
class IsSwaggerResponse a where
475+
responseSwagger :: DeclareDefinition Response
476+
476477
instance
477478
(AllToResponseHeader hs, IsSwaggerResponse r) =>
478479
IsSwaggerResponse (WithHeaders hs a r)
@@ -482,12 +483,6 @@ instance
482483
(headers .~ fmap Inline (toAllResponseHeaders (Proxy @hs)))
483484
(responseSwagger @r)
484485

485-
class IsSwaggerResponseList (as :: [Type]) where
486-
responseListSwagger :: DeclareDefinition (InsOrdHashMap HttpStatusCode Response)
487-
488-
class IsSwaggerResponse a where
489-
responseSwagger :: DeclareDefinition Response
490-
491486
simpleResponseSwagger :: forall a cs desc. (ToSchema a, KnownSymbol desc, AllMime cs) => DeclareDefinition Response
492487
simpleResponseSwagger = do
493488
ref <- declareSchemaRef (Proxy @a)
@@ -508,9 +503,6 @@ instance
508503
-- Defaulting this to JSON, as openapi3 needs something to map a schema against.
509504
responseSwagger = simpleResponseSwagger @a @'[JSON] @desc
510505

511-
instance IsSwaggerResponseList '[] where
512-
responseListSwagger = pure mempty
513-
514506
instance
515507
(KnownSymbol desc, ToSchema a, Accept ct) =>
516508
IsSwaggerResponse (RespondAs (ct :: Type) s desc a)
@@ -526,6 +518,12 @@ instance
526518
mempty
527519
& description .~ Text.pack (symbolVal (Proxy @desc))
528520

521+
class IsSwaggerResponseList (as :: [Type]) where
522+
responseListSwagger :: DeclareDefinition (InsOrdHashMap HttpStatusCode Response)
523+
524+
instance IsSwaggerResponseList '[] where
525+
responseListSwagger = pure mempty
526+
529527
instance
530528
( IsSwaggerResponse a,
531529
KnownNat (Server.ResponseStatus a),

0 commit comments

Comments
 (0)