| // Copyright (c) 2018 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "net/third_party/quiche/src/quic/core/qpack/qpack_encoder_test_utils.h" | |
| #include "net/third_party/quiche/src/spdy/core/hpack/hpack_encoder.h" | |
| namespace quic { | |
| namespace test { | |
| void NoopDecoderStreamErrorDelegate::OnDecoderStreamError( | |
| QuicStringPiece error_message) {} | |
| void NoopEncoderStreamSenderDelegate::WriteEncoderStreamData( | |
| QuicStringPiece data) {} | |
| std::string QpackEncode( | |
| QpackEncoder::DecoderStreamErrorDelegate* decoder_stream_error_delegate, | |
| QpackEncoderStreamSender::Delegate* encoder_stream_sender_delegate, | |
| const FragmentSizeGenerator& fragment_size_generator, | |
| const spdy::SpdyHeaderBlock* header_list) { | |
| QpackEncoder encoder(decoder_stream_error_delegate, | |
| encoder_stream_sender_delegate); | |
| auto progressive_encoder = | |
| encoder.EncodeHeaderList(/* stream_id = */ 1, header_list); | |
| std::string output; | |
| while (progressive_encoder->HasNext()) { | |
| progressive_encoder->Next(fragment_size_generator(), &output); | |
| } | |
| return output; | |
| } | |
| } // namespace test | |
| } // namespace quic |