6 local json = require "util.json"; |
6 local json = require "util.json"; |
7 local time = require "socket".gettime; |
7 local time = require "socket".gettime; |
8 |
8 |
9 function handle_request() |
9 function handle_request() |
10 return "Hello world"; |
10 return "Hello world"; |
|
11 end |
|
12 |
|
13 local function set_cross_domain_headers(response, origin) |
|
14 local headers = response.headers; |
|
15 headers.access_control_allow_methods = "GET, POST, OPTIONS"; |
|
16 headers.access_control_allow_headers = "Content-Type"; |
|
17 headers.access_control_max_age = "7200"; |
|
18 headers.access_control_allow_origin = origin; |
|
19 return response; |
11 end |
20 end |
12 |
21 |
13 local function run(config, run_script) |
22 local function run(config, run_script) |
14 function handle_run_request(event) |
23 function handle_run_request(event) |
15 local request, response = event.request, event.response; |
24 local request, response = event.request, event.response; |
31 end |
40 end |
32 |
41 |
33 response.status_code = 201; |
42 response.status_code = 201; |
34 response.headers.connection = "close"; |
43 response.headers.connection = "close"; |
35 response.headers.transfer_encoding = "chunked"; |
44 response.headers.transfer_encoding = "chunked"; |
|
45 set_cross_domain_headers(response, config.origin); -- Let browser JS see the response |
36 response.conn:send(table.concat(http_server.prepare_header(response))); |
46 response.conn:send(table.concat(http_server.prepare_header(response))); |
37 |
47 |
38 local ok, ret = pcall(run_script, "web", event.request.body, log); |
48 local ok, ret = pcall(run_script, "web", event.request.body, log); |
39 |
49 |
40 if not ok then |
50 if not ok then |