comparison mod_http_admin_api/mod_http_admin_api.lua @ 4371:3d01bc4547b2

mod_http_admin_api: Add /server/info endpoint for site_name and version
author Matthew Wild <mwild1@gmail.com>
date Thu, 21 Jan 2021 18:54:42 +0000
parents 29b7f445aec5
children e707810a943e
comparison
equal deleted inserted replaced
4370:dee6b5098278 4371:3d01bc4547b2
11 11
12 local group_info_store = module:open_store("group_info"); 12 local group_info_store = module:open_store("group_info");
13 local group_members_store = module:open_store("groups"); 13 local group_members_store = module:open_store("groups");
14 local group_memberships = module:open_store("groups", "map"); 14 local group_memberships = module:open_store("groups", "map");
15 local push_errors = module:shared("cloud_notify/push_errors"); 15 local push_errors = module:shared("cloud_notify/push_errors");
16
17 local site_name = module:get_option_string("site_name", module.host);
16 18
17 local json_content_type = "application/json"; 19 local json_content_type = "application/json";
18 20
19 local www_authenticate_header = ("Bearer realm=%q"):format(module.host.."/"..module.name); 21 local www_authenticate_header = ("Bearer realm=%q"):format(module.host.."/"..module.name);
20 22
499 end 501 end
500 end 502 end
501 return 200; 503 return 200;
502 end 504 end
503 505
506 local function get_server_info(event)
507 event.response.headers["Content-Type"] = json_content_type;
508 return json.encode({
509 site_name = site_name;
510 version = prosody.version;
511 });
512 end
513
504 module:provides("http", { 514 module:provides("http", {
505 route = check_auth { 515 route = check_auth {
506 ["GET /invites"] = list_invites; 516 ["GET /invites"] = list_invites;
507 ["GET /invites/*"] = get_invite_by_id; 517 ["GET /invites/*"] = get_invite_by_id;
508 ["POST /invites"] = create_invite; 518 ["POST /invites"] = create_invite;
515 ["GET /groups"] = list_groups; 525 ["GET /groups"] = list_groups;
516 ["GET /groups/*"] = get_group_by_id; 526 ["GET /groups/*"] = get_group_by_id;
517 ["POST /groups"] = create_group; 527 ["POST /groups"] = create_group;
518 ["PUT /groups/*"] = update_group; 528 ["PUT /groups/*"] = update_group;
519 ["DELETE /groups/*"] = delete_group; 529 ["DELETE /groups/*"] = delete_group;
530
531 ["GET /server/info"] = get_server_info;
520 }; 532 };
521 }); 533 });