forked from GitHub/gf-core
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.
This commit is contained in:
8
gf.cabal
8
gf.cabal
@@ -19,6 +19,10 @@ flag interrupt
|
||||
Description: Enable Ctrl+Break in the shell
|
||||
Default: True
|
||||
|
||||
flag server
|
||||
Description: Include --server mode
|
||||
Default: True
|
||||
|
||||
library
|
||||
build-depends: base >= 4.2 && <5,
|
||||
array,
|
||||
@@ -82,6 +86,10 @@ executable gf
|
||||
pretty,
|
||||
mtl,
|
||||
haskeline
|
||||
if flag(server)
|
||||
build-depends: httpd-shed, network, silently, utf8-string
|
||||
cpp-options: -DSERVER_MODE
|
||||
other-modules: GFServer
|
||||
build-tools: happy, alex
|
||||
if os(windows)
|
||||
build-depends: Win32
|
||||
|
||||
Reference in New Issue
Block a user