diff options
| author | hallgren <hallgren@chalmers.se> | 2011-10-12 18:27:46 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2011-10-12 18:27:46 +0000 |
| commit | 8266df8f5898ea8c3a6a5179e905f8a2c5c950a7 (patch) | |
| tree | b9323aca57c6bcd8317e9d1966866d50810becee /src/compiler/GFServer.hs | |
| parent | 44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (diff) | |
Bug fixes for gf -server mode and setup
Diffstat (limited to 'src/compiler/GFServer.hs')
| -rw-r--r-- | src/compiler/GFServer.hs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/compiler/GFServer.hs b/src/compiler/GFServer.hs index bc5bdbdaf..4b796efce 100644 --- a/src/compiler/GFServer.hs +++ b/src/compiler/GFServer.hs @@ -25,21 +25,22 @@ import GF.Infra.UseIO(readBinaryFile,writeBinaryFile) import qualified PGFService as PS import qualified ExampleService as ES import Paths_gf(getDataDir) -import RunHTTP(Options(..),cgiHandler) +import RunHTTP(cgiHandler) -- * HTTP server server execute1 state0 = do state <- newMVar M.empty cache <- PS.newPGFCache datadir <- getDataDir - let options = Options { documentRoot = datadir</>"www", port = 41296 } + let root = datadir</>"www" + port = 41296 putStrLn $ "Starting HTTP server, open http://localhost:" - ++show (port options)++"/ in your web browser." - initServer (port options) - (modifyMVar state . handle options state0 cache execute1) + ++show port++"/ in your web browser." + setCurrentDirectory root + initServer port (modifyMVar state . handle state0 cache execute1) -- * HTTP request handler -handle options state0 cache execute1 +handle state0 cache execute1 rq@(Request method URI{uriPath=upath,uriQuery=q} hdrs body) state = do let qs = decodeQ $ case method of @@ -63,7 +64,7 @@ handle options state0 cache execute1 where path = translatePath rpath _ -> return (state,resp400 upath) where - root = documentRoot options + root = "." translatePath rpath = root</>rpath -- hmm, check for ".." |
