aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/core/viewer/http_handler.h
blob: 9b879d502895b95c9926f350ecfb8b6d9337a2fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#pragma once

#include <library/cpp/actors/core/mon.h>

namespace NActors {
class IActor;
}

namespace NKikimr {
namespace NViewer {

using namespace NActors;
class IViewer;

struct TRequest {
    NMon::TEvHttpInfo::TPtr Event;
    std::map<TString, TString> PathParams;
};

class TJsonHandlerBase {
public:
    typedef std::shared_ptr<TJsonHandlerBase> TPtr;

public:
    virtual ~TJsonHandlerBase() = default;
    virtual IActor* CreateRequestActor(IViewer* viewer, const TRequest& request) = 0;
    virtual TString GetResponseJsonSchema() = 0;
    virtual TString GetTags() { return TString(); }
    virtual TString GetRequestSummary() { return TString(); }
    virtual TString GetRequestDescription() { return TString(); }
    virtual TString GetRequestParameters() { return TString(); }
};

}
}