1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// found in the LICENSE file. 4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "net/quic/spdy_utils.h" 6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "net/spdy/spdy_frame_builder.h" 9b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "net/spdy/spdy_framer.h" 10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "net/spdy/spdy_protocol.h" 11b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)using std::string; 13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace net { 15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// static 17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)string SpdyUtils::SerializeUncompressedHeaders(const SpdyHeaderBlock& headers) { 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int length = SpdyFramer::GetSerializedLength(kDefaultSpdyMajorVersion, 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch &headers); 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SpdyFrameBuilder builder(length, kDefaultSpdyMajorVersion); 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SpdyFramer::WriteHeaderBlock(&builder, kDefaultSpdyMajorVersion, &headers); 22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) scoped_ptr<SpdyFrame> block(builder.take()); 23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) return string(block->data(), length); 24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} 25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 26b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} // namespace net 27