server: add --version.
This commit is contained in:
parent
3f2b44b694
commit
3c2b97df32
2 changed files with 17 additions and 2 deletions
|
@ -1,15 +1,20 @@
|
|||
module Main where
|
||||
|
||||
import PandocServer (app)
|
||||
import Text.Pandoc (pandocVersion)
|
||||
import Control.Monad (when)
|
||||
import qualified Network.Wai.Handler.CGI as CGI
|
||||
import qualified Network.Wai.Handler.Warp as Warp
|
||||
import Network.Wai.Middleware.Timeout (timeout)
|
||||
import System.Environment (getProgName)
|
||||
import Options.Applicative
|
||||
import System.Exit (exitWith, ExitCode(ExitSuccess))
|
||||
import Data.Text as T
|
||||
|
||||
data Opts = Opts
|
||||
{ optPort :: Warp.Port,
|
||||
optTimeout :: Int } -- in seconds
|
||||
optTimeout :: Int, -- seconds
|
||||
optVersion :: Bool }
|
||||
|
||||
options :: Parser Opts
|
||||
options = Opts
|
||||
|
@ -23,6 +28,9 @@ options = Opts
|
|||
<> value 2
|
||||
<> metavar "SECONDS"
|
||||
<> help "Seconds timeout" )
|
||||
<*> flag False True
|
||||
( long "version"
|
||||
<> help "Print version" )
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
|
@ -33,6 +41,10 @@ main = do
|
|||
<> header "pandoc-server - text conversion server" )
|
||||
opts <- execParser optspec
|
||||
|
||||
when (optVersion opts) $ do
|
||||
putStrLn $ progname <> " " <> T.unpack pandocVersion
|
||||
exitWith ExitSuccess
|
||||
|
||||
let port = optPort opts
|
||||
let app' = timeout (optTimeout opts) app
|
||||
if progname == "pandoc-server.cgi"
|
||||
|
|
|
@ -24,7 +24,10 @@ program, rename it as `pandoc-server.cgi`.
|
|||
: Timeout in seconds, after which a conversion is killed. Default: 2.
|
||||
|
||||
`--help`
|
||||
: Help
|
||||
: Print this help.
|
||||
|
||||
`--version`
|
||||
: Print version.
|
||||
|
||||
# API
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue