@@ -30,10 +30,10 @@ instance Subtree Responses where
3030 -- it. So, the logic is swapped.
3131 checkCompatibility env (ProdCons p c) = do
3232 let defs = getH @(ProdCons (Definitions Response)) env
33− for_ (IOHM.toList $ _responsesResponses p) $ \ (prodStatus, prodRef) ->
34− case IOHM.lookup prodStatus $ _responsesResponses c of
35− Nothing -> issueAt consumer $ ResponseCodeNotFound prodStatus
36− Just consRef -> do
33+ for_ (IOHM.toList $ _responsesResponses c) $ \(prodStatus, consRef) ->
34+ case IOHM.lookup prodStatus $ _responsesResponses p of
35+ Nothing -> issueAt producer $ ResponseCodeNotFound prodStatus
36+ Just prodRef -> do
3737 let tracedRefs = dereference <$> defs <*> ProdCons prodRef consRef
3838 localStep (ResponseCodeStep prodStatus)
3939 $ checkProdCons env tracedRefs
@@ -56,16 +56,18 @@ instance Subtree Response where
5656 checkHeaders
5757 pure ()
5858 where
59− -- Each response type expected by producer must be in the consumer (logic
60− -- is swapped)
59+ -- Each response type, generated by the consumer must be parseable by the
60+ -- producer
6161 checkMediaTypes = do
62− for_ (IOHM.toList $ _responseContent p) $ \ (mediaType, prodMediaObject) ->
63− case IOHM.lookup mediaType $ _responseContent c of
64− Nothing -> issueAt consumer $ ResponseMediaTypeMissing mediaType
65− Just consMediaObject -> localStep (ResponseMediaObject mediaType)
62+ for_ (IOHM.toList $ _responseContent c) $ \ (mediaType, consMediaObject) ->
63+ case IOHM.lookup mediaType $ _responseContent p of
64+ Nothing -> issueAt producer $ ResponseMediaTypeMissing mediaType
65+ Just prodMediaObject -> localStep (ResponseMediaObject mediaType)
6666 $ swapRoles
6767 $ checkCompatibility @MediaTypeObject (mediaType `HCons` swapProdCons schemaRefs `HCons` HNil)
6868 $ ProdCons consMediaObject prodMediaObject
69+ -- Each header expected by the producer must be provided by the
70+ -- consumer. Assume, that extra consumer headers are ignored.
6971 checkHeaders = do
7072 for_ (IOHM.toList $ _responseHeaders p) $ \ (hname, prodRef) ->
7173 case IOHM.lookup hname $ _responseHeaders c of