Write a server supporting Server::Starter's protocol in Haskell.
Provides a utility to write server program which can be called via Perl's https://github.com/kazuho/p5-Server-Starter program using Haskell. This module does not provide a Haskell implementation of start_server, so you need to use the original Perl version or use a version ported to golang.
hs-server-starter
Description
Provides a utility to write server program which can be called via Perl's https://github.com/kazuho/p5-Server-Starter program using Haskell.
This module does not provide a Haskell implementation of start_server, so you need to use the original Perl version or use a version ported to golang.
SINOPSIS
Since the listenAll function returns a listened Network.Socket, please call accept on it.
import qualified Network.ServerStarter.Socket as Starter
import qualified Network.Socket               as Socket
import qualified Network.Wai                  as Wai
import qualified Network.Wai.Handler.Warp     as Warp
main :: IO ()
main = do
  (socket:_) <- Starter.listenAll
  Socket.SockAddrInet port _ <- Socket.getSocketName socket
  let setting = Warp.setPort (fromEnum port)
              $ Warp.defaultSettings
  Warp.runSettingsSocket setting socket app
app :: Wai.Application
app = ...
Then run start_server and access to http://localhost:12345 .
$ start_server --port 12345 -- stack exec server-starter-warp-example
Author
Masahiro Honma ([email protected])