mod_rest/mod_rest.lua
changeset 4492 eea62d30ae08
parent 4485 e453eaf1589e
child 4506 48afaec5d1de
equal deleted inserted replaced
4491:f877a4d3770b 4492:eea62d30ae08
   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);