Mon May  4 10:35:54 EDT 2009  Gregory Collins <greg@gregorycollins.net>
  * Local fix: make networking work
  Ignore-this: f46cdf40b26ac1ca72e50b05c772c259
diff -rN -u old-happstack/happstack-server/src/Happstack/Server/HTTP/Socket.hs new-happstack/happstack-server/src/Happstack/Server/HTTP/Socket.hs
--- old-happstack/happstack-server/src/Happstack/Server/HTTP/Socket.hs	2009-10-08 10:34:22.000000000 -0400
+++ new-happstack/happstack-server/src/Happstack/Server/HTTP/Socket.hs	2009-10-08 10:34:22.000000000 -0400
@@ -24,29 +24,11 @@
   (sock', addr) <- S.accept sock
   h <- S.socketToHandle sock' ReadWriteMode
   (N.PortNumber p) <- N.socketPort sock'
-  
-  let peer = $(if supportsIPv6
-                 then
-                 return $ CaseE (VarE (mkName "addr")) 
-                            [Match 
-                             (ConP (mkName "S.SockAddrInet") 
-                              [WildP,VarP (mkName "ha")]) 
-                             (NormalB (AppE (VarE (mkName "showHostAddress")) 
-                                       (VarE (mkName "ha")))) []
-                            ,Match (ConP (mkName "S.SockAddrInet6") [WildP,WildP,VarP (mkName "ha"),WildP])
-                             (NormalB (AppE (VarE (mkName "showHostAddress6")) (VarE (mkName "ha")))) []
-                            ,Match WildP (NormalB (AppE (VarE (mkName "error")) (LitE (StringL "Unsupported socket")))) []]
-                 -- the above mess is the equivalent of this: 
-                 {-[| case addr of
-                       (S.SockAddrInet _ ha)      -> showHostAddress ha
-                       (S.SockAddrInet6 _ _ ha _) -> showHostAddress6 ha
-                       _                          -> error "Unsupported socket"
-                   |]-}
-                 else
-                 [| case addr of
-                      (S.SockAddrInet _ ha)      -> showHostAddress ha
-                      _                          -> error "Unsupported socket"
-                 |])
-                     
+
+  let peer = case addr of
+               (S.SockAddrInet _ ha)      -> showHostAddress ha
+               (S.SockAddrInet6 _ _ ha _) -> showHostAddress6 ha
+               _                          -> error "Unsupported socket"
+
   return (h, peer, p)
 
diff -rN -u old-happstack/happstack-server/src/Happstack/Server/HTTP/SocketTH.hs new-happstack/happstack-server/src/Happstack/Server/HTTP/SocketTH.hs
--- old-happstack/happstack-server/src/Happstack/Server/HTTP/SocketTH.hs	2009-10-08 10:34:22.000000000 -0400
+++ new-happstack/happstack-server/src/Happstack/Server/HTTP/SocketTH.hs	2009-10-08 10:34:22.000000000 -0400
@@ -8,9 +8,4 @@
 
 -- find out at compile time if the SockAddr6 / HostAddress6 constructors are available
 supportsIPv6 :: Bool
-supportsIPv6 = $(let c = "Network.Socket.SockAddrInet6"; d = ''SockAddr in
-                 do TyConI (DataD _ _ _ cs _) <- reify d
-                    if isJust (find (\(NormalC n _) -> show n == c) cs)
-                       then [| True |]
-                       else [| False |] )
-                       
+supportsIPv6 = True

