307 module:send(payload, origin); |
307 module:send(payload, origin); |
308 return 202; |
308 return 202; |
309 end |
309 end |
310 end |
310 end |
311 |
311 |
|
312 local demo_handlers = {}; |
|
313 if module:get_option_path("rest_demo_resources", nil) then |
|
314 demo_handlers = module:require"apidemo"; |
|
315 end |
|
316 |
312 -- Handle stanzas submitted via HTTP |
317 -- Handle stanzas submitted via HTTP |
313 module:depends("http"); |
318 module:depends("http"); |
314 module:provides("http", { |
319 module:provides("http", { |
315 route = { |
320 route = { |
316 POST = handle_request; |
321 POST = handle_request; |
317 ["POST /*"] = handle_request; |
322 ["POST /*"] = handle_request; |
318 ["GET /*"] = handle_request; |
323 ["GET /*"] = handle_request; |
|
324 |
|
325 -- Only if api_demo_resources are set |
|
326 ["GET /"] = demo_handlers.redirect; |
|
327 ["GET /demo/"] = demo_handlers.main_page; |
|
328 ["GET /demo/openapi.yaml"] = demo_handlers.schema; |
|
329 ["GET /demo/*"] = demo_handlers.resources; |
319 }; |
330 }; |
320 }); |
331 }); |
321 |
332 |
322 -- Forward stanzas from XMPP to HTTP and return any reply |
333 -- Forward stanzas from XMPP to HTTP and return any reply |
323 local rest_url = module:get_option_string("rest_callback_url", nil); |
334 local rest_url = module:get_option_string("rest_callback_url", nil); |