@@ -201,18 +201,27 @@ instance {-# OVERLAPPABLE #-} (HasResponseHeader h a rest) => HasResponseHeader
201-- >>> let example2 = addHeader True example1 :: Headers '[Header "1st" Bool, Header "someheader" Int] String
201-- >>> let example2 = addHeader True example1 :: Headers '[Header "1st" Bool, Header "someheader" Int] String
202-- >>> lookupResponseHeader example2 :: ResponseHeader "someheader" Int
202-- >>> lookupResponseHeader example2 :: ResponseHeader "someheader" Int
203-- Header 5
203-- Header 5
204-- >>> lookupResponseHeader example2 :: ResponseHeader "1st" Bool
205-- >>> lookupResponseHeader example2 :: ResponseHeader "1st" Bool
205-- Header True
206-- Header True
207-- Usage of this function relies on an explicit type annotation of the header to be looked up.
208-- Usage of this function relies on an explicit type annotation of the header to be looked up.
208-- This can be done with type annotations on the result, or with an explicit type application.
209-- This can be done with type annotations on the result, or with an explicit type application.
209−-- e.g.
210+-- In this example, the type of header value is determined by the type-inference,
211+-- we only specify the name of the header:
213+-- >>> :set -XTypeApplications
210−-- @lookupResponseHeader \@"someheader" example2@
214+-- >>> case lookupResponseHeader @"1st" example2 of { Header b -> b ; _ -> False }
211lookupResponseHeader :: (HasResponseHeader h a headers)
219lookupResponseHeader :: (HasResponseHeader h a headers)
212 => Headers headers r -> ResponseHeader h a
220 => Headers headers r -> ResponseHeader h a
213lookupResponseHeader = hlistLookupHeader . getHeadersHList
221lookupResponseHeader = hlistLookupHeader . getHeadersHList
224+-- >>> :set -XFlexibleContexts
216-- >>> import Servant.API
225-- >>> import Servant.API
217-- >>> import Data.Aeson
226-- >>> import Data.Aeson
218-- >>> import Data.Text
227-- >>> import Data.Text