packages feed

io-streams-haproxy 1.0.0.2 → 1.0.1.0

raw patch · 3 files changed

+32/−8 lines, 3 filesdep ~attoparsecdep ~basedep ~bytestringnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: attoparsec, base, bytestring, network, transformers

API changes (from Hackage documentation)

- System.IO.Streams.Network.HAProxy: decodeHAProxyHeaders :: ProxyInfo -> (InputStream ByteString) -> IO ProxyInfo
+ System.IO.Streams.Network.HAProxy: decodeHAProxyHeaders :: ProxyInfo -> InputStream ByteString -> IO ProxyInfo

Files

io-streams-haproxy.cabal view
@@ -1,5 +1,5 @@ name:                io-streams-haproxy-version:             1.0.0.2+version:             1.0.1.0 synopsis:            HAProxy protocol 1.5 support for io-streams  description: HAProxy protocol version 1.5 support (see@@ -23,7 +23,7 @@ cabal-version:       >=1.10 Bug-Reports:         https://github.com/snapframework/io-streams-haproxy/issues Tested-With:         GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,-                     GHC == 8.0.1+                     GHC == 8.0.1, GHC == 8.2.1, GHC == 8.4.3, GHC == 8.6.1  source-repository head   type:     git@@ -35,11 +35,11 @@   other-modules:     System.IO.Streams.Network.Internal.Address   c-sources:         cbits/byteorder.c -  build-depends:     base              >= 4.5 && < 4.11,+  build-depends:     base              >= 4.5 && < 4.13,                      attoparsec        >= 0.7 && < 0.14,                      bytestring        >= 0.9 && < 0.11,                      io-streams        >= 1.3 && < 1.6,-                     network           >= 2.3 && < 2.7,+                     network           >= 2.3 && < 3.1,                      transformers      >= 0.3 && < 0.6   default-language:  Haskell2010 
src/System/IO/Streams/Network/HAProxy.hs view
@@ -69,9 +69,21 @@ socketToProxyInfo :: N.Socket -> N.SockAddr -> IO ProxyInfo socketToProxyInfo s sa = do     da <- N.getSocketName s-    let (N.MkSocket _ _ !sty _ _) = s+    !sty <- getSockType     return $! makeProxyInfo sa da (addrFamily sa) sty-+  where+#if MIN_VERSION_network(2,7,0)+    getSockType = do+        c <- N.getSocketOption s N.Type+        -- This is a kludge until network has better support for returning+        -- SocketType+        case c of+          1 -> return N.Stream+          2 -> return N.Datagram+          _ -> error ("bad socket type: " ++ show c)+#else+    getSockType = let (N.MkSocket _ _ sty _ _) = s in return sty+#endif  ------------------------------------------------------------------------------ -- | Parses the proxy headers emitted by HAProxy and runs a user action with
test/System/IO/Streams/Network/HAProxy/Tests.hs view
@@ -103,12 +103,24 @@     startServer :: Chan Bool -> IO (ThreadId, Int)     startServer = E.bracketOnError getSock N.close . forkServer +    getBindAddr = do+#if MIN_VERSION_network(2,7,0)+        getSockAddr (fromIntegral N.defaultPort) "127.0.0.1"+#else+        getSockAddr (fromIntegral N.aNY_PORT) "127.0.0.1"+#endif+     getSock = do-        (family, addr) <- getSockAddr (fromIntegral N.aNY_PORT) "127.0.0.1"+        (family, addr) <- getBindAddr         sock           <- N.socket family N.Stream 0         N.setSocketOption sock N.ReuseAddr 1         N.setSocketOption sock N.NoDelay 1++#if MIN_VERSION_network(2,7,0)+        N.bind sock addr+#else         N.bindSocket sock addr+#endif         N.listen sock 150         return $! sock @@ -579,7 +591,7 @@  ------------------------------------------------------------------------------ localhost :: Int -> IO (N.SockAddr)-localhost p = N.SockAddrInet (fromIntegral p) <$> N.inet_addr "127.0.0.1"+localhost p = snd <$> getSockAddr p "127.0.0.1"   ------------------------------------------------------------------------------