Commit Graph

39 Commits

Author SHA1 Message Date
hallgren
cd8cbda3d4 Additional changes for GHC 7.4 & 7.6 compatibility 2013-03-11 12:57:09 +00:00
Sergei Trofimovich
05e5895134 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
d55f5b4e7b gf -server: fix bug in bug fix for current directory 2013-01-13 12:36:58 +00:00
hallgren
f9551337a9 gf -server: small logging improvements 2013-01-12 18:48:23 +00:00
hallgren
cfb72bad8b gf -server: defend against problems with the current directory caused unhandled errors 2013-01-12 17:11:31 +00:00
hallgren
158aafa3af gf -server + gfse: show modification time of public grammars 2012-11-23 23:21:17 +00:00
hallgren
586d7488f2 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
c2b7288411 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
d441b2c629 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
87b280fd4f 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
3bc65ba527 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
7c65cd4073 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
539856de26 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
f79838c299 gf -server: also restrict the paths of uploaded files 2012-09-21 14:53:11 +00:00
hallgren
3d3ee05704 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
860a014f2e 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
70b338de20 translator: documents can now be saved in the cloud
some other small fixes
2012-06-12 15:36:41 +00:00
hallgren
a3a491d8fc 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
25435a6912 gf -server: remove debug output 2012-05-27 11:52:15 +00:00
hallgren
8172cf7d94 GFServer.hs: apply UTF8 decoding to all server input 2012-05-16 14:03:09 +00:00
hallgren
cc2299dde7 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
a68331d287 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00
hallgren
fc784e92df 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
b35b48a701 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
c4406c146a 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
53e5308d74 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
a6acb994e8 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
28c2a4ce5e gf -server: better error message for requests with unsupported HTTP methods 2012-02-01 17:34:23 +00:00
hallgren
4c1c115217 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
20b4ff07e3 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
9dccff4cf7 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
5664c0699d gfse: grammar sharing: bug fixes and win32 support
win32 support is untested
2011-11-01 17:45:57 +00:00
hallgren
864d329336 Show version & configuration info when gf -server starts 2011-10-12 19:00:42 +00:00
hallgren
50605036dd Bug fixes for gf -server mode and setup 2011-10-12 18:27:46 +00:00
hallgren
fa4af3d043 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
7b9f63938d More work on support for gfse in "gf -server" mode 2011-10-11 19:17:47 +00:00
hallgren
51a15531ce Add cloud services needed by gfse to "gf -server" mode 2011-10-10 19:46:57 +00:00
hallgren
b318509528 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
3488632558 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