From 0a27aaf1e6823ea2c81f91265e97d98d2d20d9ea Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 13 Apr 2011 14:58:01 +0000 Subject: Added a preliminary "gf -server" mode. The command "gf -server" now starts a simple HTTP server on port 41295, providing a simple web API to the GF compiler. It currently support the follwing operations: * creating new temporary directories for grammar uploads, * uploading grammars files for use in the GF shell, * executing GF shell commands, and * accessing static files. This means that GF now depends on some additional networking related packages, but they should be available and easy to install on all platforms. There is also a new configuration flag "server" in gf.cabal, so GF will be compiled without support for server mode if the extra packages are unavailable. Note that running gf -server while connected to the internet can be a security risk. To prevent unauthorized access to the rest of the system, it is advisable to run the server in GF_RESTRICTED mode and as a user with suitably restricted file permissions. --- src/compiler/GF/Infra/Option.hs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/compiler/GF') diff --git a/src/compiler/GF/Infra/Option.hs b/src/compiler/GF/Infra/Option.hs index 9c8925f3d..1560f315f 100644 --- a/src/compiler/GF/Infra/Option.hs +++ b/src/compiler/GF/Infra/Option.hs @@ -74,6 +74,7 @@ errors = fail . unlines -- Types data Mode = ModeVersion | ModeHelp | ModeInteractive | ModeRun | ModeCompiler + | ModeServer deriving (Show,Eq,Ord) data Verbosity = Quiet | Normal | Verbose | Debug @@ -293,6 +294,7 @@ optDescr = Option [] ["batch"] (NoArg (mode ModeCompiler)) "Run in batch compiler mode.", Option [] ["interactive"] (NoArg (mode ModeInteractive)) "Run in interactive mode (default).", Option [] ["run"] (NoArg (mode ModeRun)) "Run in interactive mode, showing output only (no other messages).", + Option [] ["server"] (NoArg (mode ModeServer)) "Run in HTTP server mode.", Option ['E'] [] (NoArg (phase Preproc)) "Stop after preprocessing (with --preproc).", Option ['C'] [] (NoArg (phase Convert)) "Stop after conversion to .gf.", Option ['c'] [] (NoArg (phase Compile)) "Stop after compiling to .gfo (default) .", -- cgit v1.2.3