- loop :: Socket -> IO ()
- loop so
- -- 本當は Network.accept を使ひたいが、このアクションは勝手に
- -- リモートのIPを逆引きするので、使へない。
- = do (h, addr) <- accept' so
- tQueue <- newInteractionQueue
- readerTID <- forkIO $ requestReader cnf tree h addr tQueue
- writerTID <- forkIO $ responseWriter cnf h tQueue readerTID
- loop so
+ httpLoop :: Socket -> IO ()
+ httpLoop so
+ = do (h, addr) <- acceptHTTP so
+ tQueue <- newInteractionQueue
+ readerTID <- forkIO $ requestReader cnf tree fbs h addr tQueue
+ _writerTID <- forkIO $ responseWriter cnf h tQueue readerTID
+ httpLoop so
+
+ 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