diff options
| author | hallgren <hallgren@chalmers.se> | 2011-04-13 14:58:01 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2011-04-13 14:58:01 +0000 |
| commit | 0a27aaf1e6823ea2c81f91265e97d98d2d20d9ea (patch) | |
| tree | 7b98e8182fc586dd10fad51ffa58163f9e66b1d3 /src/compiler/GF | |
| parent | 8fed629a3ef9d8078e2492f01c4296b464e125ab (diff) | |
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.
Diffstat (limited to 'src/compiler/GF')
| -rw-r--r-- | src/compiler/GF/Infra/Option.hs | 2 |
1 files changed, 2 insertions, 0 deletions
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) .", |
