1
#pragma once
2

            
3
#include <memory>
4

            
5
#include "envoy/router/router.h"
6

            
7
#include "source/common/http/response_decoder_impl_base.h"
8

            
9
namespace Envoy {
10
namespace Router {
11

            
12
class UpstreamToDownstreamImplBase : public UpstreamToDownstream {
13
public:
14
95053
  UpstreamToDownstreamImplBase() : live_trackable_(std::make_shared<bool>(true)) {}
15

            
16
75819
  Http::ResponseDecoderHandlePtr createResponseDecoderHandle() override {
17
75819
    return std::make_unique<Http::ResponseDecoderHandleImpl>(live_trackable_, *this);
18
75819
  }
19

            
20
private:
21
  std::shared_ptr<bool> live_trackable_;
22
};
23

            
24
} // namespace Router
25
} // namespace Envoy