@@ -53,8 +53,8 @@ import Network.Wai.Test
53
53
import Servant.API
54
54
((:<|>) (.. ), (:>) , AuthProtect , BasicAuth ,
55
55
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 ,
58
58
NoContent (.. ), NoContentVerb , NoFraming , OctetStream , Patch ,
59
59
PlainText , Post , Put , QueryFlag , QueryParam , QueryParams , Raw , RawM ,
60
60
RemoteHost , ReqBody , SourceIO , StdMethod (.. ), Stream , Strict ,
@@ -121,6 +121,7 @@ type VerbApi method status
121
121
:<|> " noContent" :> NoContentVerb method
122
122
:<|> " header" :> Verb method status '[JSON ] (Headers '[Header " H" Int ] Person )
123
123
:<|> " headerNC" :> Verb method status '[JSON ] (Headers '[Header " H" Int ] NoContent )
124
+ :<|> " headerD" :> Verb method status '[JSON ] (Headers '[Describe " desc" (Header " D" Int )] Person )
124
125
:<|> " accept" :> ( Verb method status '[JSON ] Person
125
126
:<|> Verb method status '[PlainText ] String
126
127
)
@@ -133,6 +134,7 @@ verbSpec = describe "Servant.API.Verb" $ do
133
134
:<|> return NoContent
134
135
:<|> return (addHeader 5 alice)
135
136
:<|> return (addHeader 10 NoContent )
137
+ :<|> return (addHeader 5 alice)
136
138
:<|> (return alice :<|> return " B" )
137
139
:<|> return (S. source [" bytestring" ])
138
140
@@ -177,6 +179,10 @@ verbSpec = describe "Servant.API.Verb" $ do
177
179
liftIO $ statusCode (simpleStatus response2) `shouldBe` status
178
180
liftIO $ simpleHeaders response2 `shouldContain` [(" H" , " 5" )]
179
181
182
+ response3 <- THW. request method " /headerD" [] " "
183
+ liftIO $ statusCode (simpleStatus response3) `shouldBe` status
184
+ liftIO $ simpleHeaders response3 `shouldContain` [(" D" , " 5" )]
185
+
180
186
it " handles trailing '/' gracefully" $ do
181
187
response <- THW. request method " /headerNC/" [] " "
182
188
liftIO $ statusCode (simpleStatus response) `shouldBe` status
0 commit comments