From 1497fd863ae7b1d4b2c1f7144a1d2753875bae75 Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 9 Jan 2013 13:28:45 +0000 Subject: PGF service: new command: download This makes it possible to download PGF files from servers where the PGF service is installed. I am also considering making commmand=download the default instead of command=grammar. --- src/server/PGFService.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/server/PGFService.hs') diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index ed19541f1..ee83394da 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -51,11 +51,12 @@ cgiMain' cache path = do pgf <- liftIO $ readCache cache path command <- liftM (maybe "grammar" (urlDecodeUnicode . UTF8.decodeString)) (getInput "command") - pgfMain pgf command + pgfMain path pgf command -pgfMain :: PGF -> String -> CGI CGIResult -pgfMain pgf command = +pgfMain :: FilePath -> PGF -> String -> CGI CGIResult +pgfMain path pgf command = case command of + "download" -> outputBinary =<< liftIO (BS.readFile path) "parse" -> outputJSONP =<< doParse pgf `fmap` getText `ap` getCat `ap` getFrom `ap` getLimit "complete" -> outputJSONP =<< doComplete pgf `fmap` getText `ap` getCat `ap` getFrom `ap` getLimit "linearize" -> outputJSONP =<< doLinearize pgf `fmap` getTree `ap` getTo -- cgit v1.2.3