1
0
forked from GitHub/gf-core
Commit Graph

39 Commits

Author SHA1 Message Date
hallgren
d1c5fafc69 Additional changes for GHC 7.4 & 7.6 compatibility 2013-03-11 12:57:09 +00:00
Sergei Trofimovich
0173b5f4ff ghc-7.6: allow directory-1.2
Get rid of old-time depend (and ClockTime in favour of UTCTime).
time-compat helps to retain backward compatibility with directory-1.1
and lower.
2013-03-09 21:38:43 +00:00
hallgren
35aedadc83 gf -server: fix bug in bug fix for current directory 2013-01-13 12:36:58 +00:00
hallgren
68c04cdd63 gf -server: small logging improvements 2013-01-12 18:48:23 +00:00
hallgren
b0228af26d gf -server: defend against problems with the current directory caused unhandled errors 2013-01-12 17:11:31 +00:00
hallgren
18c8ff3579 gf -server + gfse: show modification time of public grammars 2012-11-23 23:21:17 +00:00
hallgren
2cc39661d9 Add flag --document-root for user with gf --server
This can make it easier to test cloud service updates before installing them.
2012-11-14 13:52:45 +00:00
hallgren
63093c32f3 Eliminate warnings about deprecated use of catch and try
This is also needed for compatibility with GHC 7.6.
2012-11-08 15:53:46 +00:00
hallgren
1dbf575a71 gf -server: make it possible to pass arbitrary flags/options to gf when compiling grammars
For example, you can add -optimize-pgf:

  http://localhost:41296/cloud?dir=...&command=remake&-optimize-pgf=&Foods2Eng.gf=&Foods2Swe.gf=
2012-11-06 15:29:38 +00:00
hallgren
b810b5000c gf -server: introduce command=remake for recompiling previously uploaded grammars
Also remove some old commented out code.
2012-10-23 20:23:01 +00:00
hallgren
63214d2bf6 gf -server: add a GF version info request
GF version info can now be obtained from http://localhost:41926/version
Also removed some unused imports.
2012-09-26 15:23:29 +00:00
hallgren
43d5016996 Use the SIO monad in the GF shell
+ The restrictions on arbitrary IO when GF is running in restricted mode is now
  enforced in the types.
+ This hopefully also solves an intermittent problem when accessing the GF
  shell through the web API provided by gf -server. This was visible in the
  Simple Translation Tool and probably caused by some low-level bug in the
  GHC IO libraries.
2012-09-25 19:08:33 +00:00
hallgren
2f500e521d GFServer.hs: code improvements
Use a monad in the request handler to make the code a bit more modular and
readable.
2012-09-22 22:10:10 +00:00
hallgren
a9476634a4 gf -server: also restrict the paths of uploaded files 2012-09-21 14:53:11 +00:00
hallgren
db39fdaa68 gf -server: improved security checks
+ More restrictive limits on which file paths can be downloaded and removed.
+ Add more extensions to the list of file types that may be removed. In
  particular, allow documents created by simple translation tool to be removed.
2012-09-21 09:00:48 +00:00
hallgren
700982076c GFServer.hs: binary files can now be uploaded to the cloud
Karel wants to upload PGF files.
2012-08-01 18:10:00 +00:00
hallgren
cc58e2d05f translator: documents can now be saved in the cloud
some other small fixes
2012-06-12 15:36:41 +00:00
hallgren
b19ae37d9c GFServer.hs: apply UTF8 encoding when saving uploaded files
This fixes a bug introduced on May 16.
2012-05-28 11:21:30 +00:00
hallgren
1215f2b951 gf -server: remove debug output 2012-05-27 11:52:15 +00:00
hallgren
114788a3db GFServer.hs: apply UTF8 decoding to all server input 2012-05-16 14:03:09 +00:00
hallgren
f573d52b43 PGFService.hs bug fix: pattern match failure in doParse
doParse was missing a branch for PGF.ParseIncomplete.
Also introduced the operator .= to simply the code that builds JSON objects.
2012-02-29 16:21:34 +00:00
hallgren
c1c1a73dc3 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00
hallgren
03f3baeba3 gfse: text mode editing: accept grammars with printname judgements
But printname judgements are ignored for now.
Also fixed an UTF-8 encoding bug when parsing uploaded grammars in gf -server
mode.
2012-02-24 17:12:38 +00:00
hallgren
2eddc116e6 gfse: edit abstract syntax in text mode with instant syntax error reporting
This is an experimental feature. It requires server support for parsing and is
thus not available while offline, unlike most other editing functionality.
2012-02-21 16:58:18 +00:00
hallgren
fc897a909a gfse: added a button to go directly from the editor to the minibar
If there is an error in the grammar, the error message is shown below the
grammar instead.
Also: GFServer.hs now returns compiler output in a JSON structure instead of
as a HTML page.
2012-02-13 15:24:05 +00:00
hallgren
73827b9bf7 gfse: stay on the same page when compiling grammars
The link to the minibar (or compiler errors) are now shown below the grammar
on the same page. If you go to the minibar, you only have to press the back
button once to get back to the editor.
Also some output formatting changes in GFServer.hs.
2012-02-10 17:26:02 +00:00
hallgren
6b29296060 gfse&minibar: select the right grammar in minibar when invoked from gfse
The grammar that the user is currently working is now the one shown initially
in minibar, instead of the first grammar in alphabetical order.
Also GFServer.hs now removes absolute paths to the grammar files on the server in error messages from GF returned to to gfse.
2012-02-10 15:24:59 +00:00
hallgren
597ffd3003 gf -server: better error message for requests with unsupported HTTP methods 2012-02-01 17:34:23 +00:00
hallgren
3cbad333ad gf -server: fix bug that caused '+' to be converted to ' ' in uploaded grammars
Fixed buggy workaround for bug in httpd-shed function queryToArguments.
2012-02-01 17:17:46 +00:00
hallgren
15678a0fce gf -server[=port]
You can now specify which port the HTTP server should run on in server mode.
The default is 41296.
2011-12-14 15:28:27 +00:00
hallgren
7f5d121a9a gf -server mode improvements
+ Avoid looping if it is not possible to create a new server directory.
+ Work on FastCGI support using the direct-fastcgi package (commented out
  for now because of buggy behavior).
2011-12-14 15:11:13 +00:00
hallgren
42af63414f gfse: grammar sharing: bug fixes and win32 support
win32 support is untested
2011-11-01 17:45:57 +00:00
hallgren
bd7cb1ab41 Show version & configuration info when gf -server starts 2011-10-12 19:00:42 +00:00
hallgren
8266df8f58 Bug fixes for gf -server mode and setup 2011-10-12 18:27:46 +00:00
hallgren
44d1a5a9f7 Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and
the grammar editor (including example-based grammar writing).

The Setup.hs script installs the required files where gf -server can find them.
These files have been moved to a new directory: src/www.

The separate server program pgf-http is now obsolete.
2011-10-12 17:03:54 +00:00
hallgren
0aba45560d More work on support for gfse in "gf -server" mode 2011-10-11 19:17:47 +00:00
hallgren
b138844695 Add cloud services needed by gfse to "gf -server" mode 2011-10-10 19:46:57 +00:00
hallgren
04d2dc757c More functionality in "gf -server" mode
"gf -server" mode now includes PGF service and the services to support
example-based grammar writing. (But gf -server is not quite ready to replace
pgf-http yet...) 

Also bumped GF version number to 3.2.10-darcs
2011-10-10 16:16:16 +00:00
hallgren
0a27aaf1e6 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.
2011-04-13 14:58:01 +00:00