aboutsummaryrefslogblamecommitdiffstats
path: root/library/cpp/monlib/service/pages/resource_mon_page.h
blob: f6ab67200e4d7ac4875c5ff5efa4e8f3c12a9c08 (plain) (tree)
1
2
3
4
5
6
7


                     
                                          
                       






                                              
 














                                                                          
 
                                                                    
 
                                                                   
 


                                   
 
 
#pragma once

#include "mon_page.h"

#include <library/cpp/resource/resource.h>

namespace NMonitoring {
    struct TResourceMonPage: public IMonPage {
    public:
        enum EResourceType {
            BINARY,
            TEXT,
            JSON,
            CSS,
            JAVASCRIPT,

            FONT_EOT,
            FONT_TTF,
            FONT_WOFF,
            FONT_WOFF2,

            PNG,
            SVG
        };

        TResourceMonPage(const TString& path, const TString& resourceName,
                         const EResourceType& resourceType = BINARY)
            : IMonPage(path, "")
            , ResourceName(resourceName)
            , ResourceType(resourceType)
        {
        }

        void Output(NMonitoring::IMonHttpRequest& request) override;

        void NotFound(NMonitoring::IMonHttpRequest& request) const;

    private:
        TString ResourceName;
        EResourceType ResourceType;
    };

}