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
5
                                       Buffer::Instance& response, AdminStream&) {
14
5
  AdminHtmlUtil::renderHead(response_headers, response);
15
5
  AdminHtmlUtil::renderTableBegin(response);
16

            
17
  // Prefix order is used during searching, but for printing do them in alpha order.
18
5
  OptRef<const Http::Utility::QueryParamsMulti> no_query_params;
19
5
  uint32_t index = 0;
20
161
  for (const UrlHandler* handler : sortedHandlers()) {
21
161
    AdminHtmlUtil::renderEndpointTableRow(response, *handler, no_query_params, ++index, false,
22
161
                                          false);
23
161
  }
24

            
25
5
  AdminHtmlUtil::renderTableEnd(response);
26
5
  AdminHtmlUtil::finalize(response);
27

            
28
5
  return Http::Code::OK;
29
5
}
30

            
31
} // namespace Server
32
} // namespace Envoy