-
- httpsLoop :: SSL.SSLContext -> Socket -> IO ()
- httpsLoop ctx so
- = do (ssl, addr) <- acceptHTTPS ctx so
- tQueue <- newInteractionQueue
- readerTID <- forkIO $ requestReader cnf tree fbs ssl addr tQueue
- _writerTID <- forkIO $ responseWriter cnf ssl tQueue readerTID
- httpsLoop ctx so
-
- acceptHTTP :: Socket -> IO (Handle, So.SockAddr)
- acceptHTTP soSelf
- = do (soPeer, addr) <- So.accept soSelf
- hPeer <- So.socketToHandle soPeer ReadWriteMode
- return (hPeer, addr)
-
- acceptHTTPS :: SSL.SSLContext -> Socket -> IO (SSL.SSL, So.SockAddr)
- acceptHTTPS ctx so
- = do (so', addr) <- So.accept so
- ssl <- SSL.connection ctx so'
- SSL.accept ssl
- return (ssl, addr)