@@ -53,8 +53,8 @@ import Network.Wai.Test
5353import Servant.API
5454 ((:<|>) (.. ), (:>) , AuthProtect , BasicAuth ,
5555 BasicAuthData (BasicAuthData ), Capture , Capture' , CaptureAll ,
56- Delete , EmptyAPI , Fragment , Get , HasStatus (StatusOf ), Header ,
57- Headers , HttpVersion , IsSecure (.. ), JSON , Lenient ,
56+ Delete , Describe , EmptyAPI , Fragment , Get , HasStatus (StatusOf ),
57+ Header , Headers , HttpVersion , IsSecure (.. ), JSON , Lenient ,
5858 NoContent (.. ), NoContentVerb , NoFraming , OctetStream , Patch ,
5959 PlainText , Post , Put , QueryFlag , QueryParam , QueryParams , Raw , RawM ,
6060 RemoteHost , ReqBody , SourceIO , StdMethod (.. ), Stream , Strict ,
@@ -121,6 +121,7 @@ type VerbApi method status
121121 :<|> " noContent" :> NoContentVerb method
122122 :<|> " header" :> Verb method status '[JSON ] (Headers '[Header " H" Int ] Person )
123123 :<|> " headerNC" :> Verb method status '[JSON ] (Headers '[Header " H" Int ] NoContent )
124+ :<|> " headerD" :> Verb method status '[JSON ] (Headers '[Describe " desc" (Header " D" Int )] Person )
124125 :<|> " accept" :> ( Verb method status '[JSON ] Person
125126 :<|> Verb method status '[PlainText ] String
126127 )
@@ -133,6 +134,7 @@ verbSpec = describe "Servant.API.Verb" $ do
133134 :<|> return NoContent
134135 :<|> return (addHeader 5 alice)
135136 :<|> return (addHeader 10 NoContent )
137+ :<|> return (addHeader 5 alice)
136138 :<|> (return alice :<|> return " B" )
137139 :<|> return (S. source [" bytestring" ])
138140
@@ -177,6 +179,10 @@ verbSpec = describe "Servant.API.Verb" $ do
177179 liftIO $ statusCode (simpleStatus response2) `shouldBe` status
178180 liftIO $ simpleHeaders response2 `shouldContain` [(" H" , " 5" )]
179181
182+ response3 <- THW. request method " /headerD" [] " "
183+ liftIO $ statusCode (simpleStatus response3) `shouldBe` status
184+ liftIO $ simpleHeaders response3 `shouldContain` [(" D" , " 5" )]
185+
180186 it " handles trailing '/' gracefully" $ do
181187 response <- THW. request method " /headerNC/" [] " "
182188 liftIO $ statusCode (simpleStatus response) `shouldBe` status
0 commit comments