blob: df882a985065c876e4dd195bd434cda84dc1cbe6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
add = (tmpl) ->
package.path ..= ";#{tmpl}.lua"
package.moonpath ..= ";#{tmpl}.moon"
add '?'
add '?.server'
add '?/init'
add '?/init.server'
require 'mmm'
import get_store from require 'mmm.mmmfs.stores'
-- usage:
-- moon server.moon [FLAGS] [STORE] [host] [port]
-- * FLAGS - any of the following:
-- --[no-]rw - enable/disable POST?PUT/DELETE operations (default: on if local)
-- --[no-]unsafe - enable/disable server-side code execution when writable is on (default: on if local or --no-rw)
-- * STORE - see mmm/mmmfs/stores/init.moon:get_store
-- * host - interface to bind to (default localhost, set to 0.0.0.0 for public hosting)
-- * port - port to serve from, default 8000
flags = {}
arguments = for a in *arg
if flag = a\match '^%-%-no%-(.*)$'
flags[flag] = false
continue
elseif flag = a\match '^%-%-(.*)$'
flags[flag] = true
continue
else
a
{ store, host, port } = arguments
store = get_store store, verbose: true
store\fsck!
|