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
12using std::string;
13
14namespace net {
15
16// static
17string 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