This is preliminary and subject to change!
The service is available from
http://cloud.grammaticalframework.org/
.
Users that have GF installed on their own computer can also
run the service locally by starting GF with the command gf -server
.
Requests are made via HTTP with the GET or POST method. (The examples below show GET requests, but POST is preferred for requests that change the state on the server.)
Data in requests is in the application/x-www-form-urlencoded
format
(the format used by default by web browsers when submitting form data).
Data in responses is usually in JSON format. The HTTP response code is usually 200, but can also be 204 (after file upload), 404 (file to download or remove was not found), 400 (for unrecognized commands or missing/unacceptable parameters in requests) or 501 (for unsupported HTTP request methods). Unrecognized parameters in requests are silently ignored.
http://cloud.grammaticalframework.org/grammars/Foods.pgf?command=random
might return a result like
[{"tree":"Pred (That Pizza) (Very Boring)"}]
For more info, see:
/new
command to obtain a
working directory (which also serves as a session identifier) on the server,
see below.
/gfshell?dir=
...&command=i+Foods.pgf
/gfshell?dir=
...&command=gr
Pred (That Pizza) (Very Boring)
/gfshell?dir=
...&command=ps+-lextext+%22That+pizza+is+very+boring.%22
that pizza is very boring .
/new
/tmp/gfse.123456
.
Most of the cloud service commands require that a working directory
is specified in the dir
parameter.
The working directory is persistent, so clients are expected
to remember and reuse it. Access to previously
uploaded files requires that the same working directory is used.
/parse?
path=
source
/cloud?dir=
...&command=upload&
path1=
source1&
path2=
source2&
...
/cloud?dir=
...&command=make&
path1=
source1&
path2=
source2&
...
{ "errorcode":"OK", // "OK" or "Error"
"command":"gf -s -make FoodsEng.gf FoodsSwe.gf FoodsChi.gf",
"output":"\n\n" // Warnings and errors from GF
}
/cloud?dir=
...&command=remake&
path1=
source1&
path2=
source2&
...
command=make
, except you can leave
the sourcei parts empty to reuse previously uploaded
files.
/cloud?dir=
...&command=download&file=
path
/cloud?dir=
...&command=ls&ext=.pgf
["Foods.pgf","Letter.pgf"]
.
/cloud?dir=
...&command=rm&file=
path
/cloud?dir=
...&command=link_directories&newdir=
...