1 // Copyright (c) 2013 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 "net/quic/spdy_utils.h" 6 7 #include "base/memory/scoped_ptr.h" 8 #include "net/spdy/spdy_frame_builder.h" 9 #include "net/spdy/spdy_framer.h" 10 #include "net/spdy/spdy_protocol.h" 11 12 using std::string; 13 14 namespace net { 15 16 // static 17 string SpdyUtils::SerializeUncompressedHeaders(const SpdyHeaderBlock& headers) { 18 int length = SpdyFramer::GetSerializedLength(kDefaultSpdyMajorVersion, 19 &headers); 20 SpdyFrameBuilder builder(length, kDefaultSpdyMajorVersion); 21 SpdyFramer::WriteHeaderBlock(&builder, kDefaultSpdyMajorVersion, &headers); 22 scoped_ptr<SpdyFrame> block(builder.take()); 23 return string(block->data(), length); 24 } 25 26 } // namespace net 27