1
#pragma once
2

            
3
#include "envoy/buffer/buffer.h"
4
#include "envoy/http/codes.h"
5
#include "envoy/http/header_map.h"
6
#include "envoy/server/admin.h"
7
#include "envoy/server/instance.h"
8

            
9
#include "source/server/admin/handler_ctx.h"
10

            
11
#include "absl/strings/string_view.h"
12

            
13
namespace Envoy {
14
namespace Server {
15

            
16
class ServerInfoHandler : public HandlerContextBase {
17

            
18
public:
19
  ServerInfoHandler(Server::Instance& server);
20

            
21
  Http::Code handlerCerts(Http::ResponseHeaderMap& response_headers, Buffer::Instance& response,
22
                          AdminStream&);
23

            
24
  Http::Code handlerServerInfo(Http::ResponseHeaderMap& response_headers,
25
                               Buffer::Instance& response, AdminStream&);
26

            
27
  Http::Code handlerReady(Http::ResponseHeaderMap& response_headers, Buffer::Instance& response,
28
                          AdminStream&);
29

            
30
  Http::Code handlerHotRestartVersion(Http::ResponseHeaderMap& response_headers,
31
                                      Buffer::Instance& response, AdminStream&);
32

            
33
  Http::Code handlerMemory(Http::ResponseHeaderMap& response_headers, Buffer::Instance& response,
34
                           AdminStream&);
35

            
36
  Http::Code handleMemoryTcmallocStats(Http::ResponseHeaderMap& response_headers,
37
                                       Buffer::Instance& response, AdminStream&);
38
};
39

            
40
} // namespace Server
41
} // namespace Envoy