@@ -50,8 +50,9 @@ import Servant.API
5050 MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
5151 QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
5252 ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
53− ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
54− getHeadersHList, getResponse, toQueryParam, toUrlPiece)
53+ ToSourceIO (..), Vault, Verb, NoContentVerb, WithNamedContext,
54+ contentType, getHeadersHList, getResponse, toQueryParam,
55+ toUrlPiece)
5556import Servant.API.ContentTypes
5657 (contentTypes)
5758import Servant.API.Modifiers
@@ -241,6 +242,18 @@ instance {-# OVERLAPPING #-}
241242
242243 hoistClientMonad _ _ f ma = f ma
243244
245+instance {-# OVERLAPPING #-}
246+ ( RunClient m, ReflectMethod method
247+ ) => HasClient m (NoContentVerb method) where
248+ type Client m (NoContentVerb method)
249+ = m NoContent
250+ clientWithRoute _pm Proxy req = do
251+ _response <- runRequest req { requestMethod = method }
252+ return NoContent
253+ where method = reflectMethod (Proxy :: Proxy method)
254+
255+ hoistClientMonad _ _ f ma = f ma
256+
244257instance {-# OVERLAPPING #-}
245258 -- Note [Non-Empty Content Types]
246259 ( RunClient m, MimeUnrender ct a, BuildHeadersTo ls