aboutsummaryrefslogblamecommitdiffstats
path: root/library/cpp/monlib/service/pages/resource_mon_page.h
blob: bc8b152f4f52ddfa84696ed6c1e5161a77887554 (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, const bool isCached = false)
            : IMonPage(path, "")
            , ResourceName(resourceName)
            , ResourceType(resourceType)
            , IsCached(isCached)
        {
        }

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

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

    private:
        TString ResourceName;
        EResourceType ResourceType;
        bool IsCached;
    };

}