Line data Source code
1 : #include "source/common/html/utility.h" 2 : #include "source/common/http/headers.h" 3 : #include "source/server/admin/admin.h" 4 : #include "source/server/admin/admin_html_util.h" 5 : #include "source/server/admin/html/admin_html_gen.h" 6 : 7 : #include "absl/strings/str_replace.h" 8 : 9 : namespace Envoy { 10 : namespace Server { 11 : 12 : Http::Code AdminImpl::handlerAdminHome(Http::ResponseHeaderMap& response_headers, 13 0 : Buffer::Instance& response, AdminStream&) { 14 0 : AdminHtmlUtil::renderHead(response_headers, response); 15 0 : AdminHtmlUtil::renderTableBegin(response); 16 : 17 : // Prefix order is used during searching, but for printing do them in alpha order. 18 0 : OptRef<const Http::Utility::QueryParamsMulti> no_query_params; 19 0 : uint32_t index = 0; 20 0 : for (const UrlHandler* handler : sortedHandlers()) { 21 0 : AdminHtmlUtil::renderEndpointTableRow(response, *handler, no_query_params, ++index, false, 22 0 : false); 23 0 : } 24 : 25 0 : AdminHtmlUtil::renderTableEnd(response); 26 0 : AdminHtmlUtil::finalize(response); 27 : 28 0 : return Http::Code::OK; 29 0 : } 30 : 31 : } // namespace Server 32 : } // namespace Envoy