1 // Copyright (c) 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "quiche/spdy/core/recording_headers_handler.h" 6 7 namespace spdy { 8 RecordingHeadersHandler(SpdyHeadersHandlerInterface * wrapped)9RecordingHeadersHandler::RecordingHeadersHandler( 10 SpdyHeadersHandlerInterface* wrapped) 11 : wrapped_(wrapped) {} 12 OnHeaderBlockStart()13void RecordingHeadersHandler::OnHeaderBlockStart() { 14 block_.clear(); 15 if (wrapped_ != nullptr) { 16 wrapped_->OnHeaderBlockStart(); 17 } 18 } 19 OnHeader(absl::string_view key,absl::string_view value)20void RecordingHeadersHandler::OnHeader(absl::string_view key, 21 absl::string_view value) { 22 block_.AppendValueOrAddHeader(key, value); 23 if (wrapped_ != nullptr) { 24 wrapped_->OnHeader(key, value); 25 } 26 } 27 OnHeaderBlockEnd(size_t uncompressed_header_bytes,size_t compressed_header_bytes)28void RecordingHeadersHandler::OnHeaderBlockEnd(size_t uncompressed_header_bytes, 29 size_t compressed_header_bytes) { 30 uncompressed_header_bytes_ = uncompressed_header_bytes; 31 compressed_header_bytes_ = compressed_header_bytes; 32 if (wrapped_ != nullptr) { 33 wrapped_->OnHeaderBlockEnd(uncompressed_header_bytes, 34 compressed_header_bytes); 35 } 36 } 37 38 } // namespace spdy 39