@@ -23,6 +23,9 @@ import Foreign.C.Error (Errno(..), eCONNABORTED)
2323import GHC.IO.Exception (IOException(..))
2424import qualified Network.HTTP2 as H2
2525import Network.Socket (Socket, close, accept, withSocketsDo, SockAddr(SockAddrInet, SockAddrInet6), setSocketOption, SocketOption(..))
26+#if MIN_VERSION_network(3,1,1)
27+import Network.Socket (gracefulClose)
28+#endif
2629import qualified Network.Socket.ByteString as Sock
2730import Network.Wai
2831import Network.Wai.Internal (ResponseReceived (ResponseReceived))
@@ -64,7 +67,11 @@ socketConnection s = do
6467 connSendMany = Sock.sendMany s
6568 , connSendAll = sendall
6669 , connSendFile = sendFile s writeBuf bufferSize sendall
70+#if MIN_VERSION_network(3,1,1)
71+ , connClose = gracefulClose s 5000
72+#else
6773 , connClose = close s
74+#endif
6875 , connFree = freeBuffer writeBuf
6976 , connRecv = receive s bufferPool
7077 , connRecvBuf = receiveBuf s