From 4b8d9be10e4517114c0c216fa24aaaa310503d4a Mon Sep 17 00:00:00 2001 From: s-ol Date: Tue, 29 Oct 2019 12:52:56 +0100 Subject: save edited changes --- build/server.moon | 86 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 37 deletions(-) (limited to 'build') diff --git a/build/server.moon b/build/server.moon index 906f89a..68cf4db 100644 --- a/build/server.moon +++ b/build/server.moon @@ -38,7 +38,43 @@ class Server print "[#{@@__name}]", "running at #{ip}:#{port}" assert @server\loop! - handle: (method, path, facet) => + handle_interactive: (fileder, facet) => + root = Fileder @store + browser = Browser root, fileder.path, facet.name + + deps = [[ + + + + + + + + + + + ]] + + render browser\todom!, fileder, noview: true, scripts: deps .. " + " + + handle: (method, path, facet, value) => fileder = Fileder @store, path if not fileder @@ -57,41 +93,7 @@ class Server convert 'table', facet.type, index, fileder, facet.name else if facet.type == 'text/html+interactive' - root = Fileder @store - browser = Browser root, path, facet.name - - deps = [[ - - - - - - - - - - - - ]] - - render browser\todom!, fileder, noview: true, scripts: deps .. " - " + @handle_interactive fileder, facet else if not fileder\has_facet facet.name 404, "facet '#{facet.name}' not found in fileder '#{path}'" else @@ -101,6 +103,15 @@ class Server 200, val else 406, "cant convert facet '#{facet.name}' to '#{facet.type}'" + when 'POST' + @store\create_facet path, facet.name, facet.type, value + 200, 'ok' + when 'PUT' + @store\update_facet path, facet.name, facet.type, value + 200, 'ok' + when 'DELETE' + @store\remove_facet path, facet.name, facet.type + 200, 'ok' else 501, "not implemented" @@ -119,7 +130,8 @@ class Server type = type\match '%s*(.*)' facet = Key facet, type - ok, status, body = xpcall @.handle, err_and_trace, @, method, path, facet + value = stream\get_body_as_string! + ok, status, body = xpcall @.handle, err_and_trace, @, method, path, facet, value if not ok warn "Error handling request (#{method} #{path} #{facet}):\n#{status}" body = "Internal Server Error:\n#{status}" -- cgit v1.2.3