diff --git a/http2/adapter/oghttp2_util.cc b/http2/adapter/oghttp2_util.cc
new file mode 100644
index 0000000..3ed13dc
--- /dev/null
+++ b/http2/adapter/oghttp2_util.cc
@@ -0,0 +1,17 @@
+#include "http2/adapter/oghttp2_util.h"
+
+namespace http2 {
+namespace adapter {
+
+spdy::SpdyHeaderBlock ToHeaderBlock(absl::Span<const Header> headers) {
+  spdy::SpdyHeaderBlock block;
+  for (const Header& header : headers) {
+    absl::string_view name = GetStringView(header.first).first;
+    absl::string_view value = GetStringView(header.second).first;
+    block[name] = value;
+  }
+  return block;
+}
+
+}  // namespace adapter
+}  // namespace http2
diff --git a/http2/adapter/oghttp2_util.h b/http2/adapter/oghttp2_util.h
new file mode 100644
index 0000000..e222c96
--- /dev/null
+++ b/http2/adapter/oghttp2_util.h
@@ -0,0 +1,16 @@
+#ifndef QUICHE_HTTP2_ADAPTER_OGHTTP2_UTIL_H_
+#define QUICHE_HTTP2_ADAPTER_OGHTTP2_UTIL_H_
+
+#include "absl/types/span.h"
+#include "http2/adapter/http2_protocol.h"
+#include "spdy/core/spdy_header_block.h"
+
+namespace http2 {
+namespace adapter {
+
+spdy::SpdyHeaderBlock ToHeaderBlock(absl::Span<const Header> headers);
+
+}  // namespace adapter
+}  // namespace http2
+
+#endif  // QUICHE_HTTP2_ADAPTER_OGHTTP2_UTIL_H_
diff --git a/http2/adapter/test_frame_sequence.cc b/http2/adapter/test_frame_sequence.cc
index a4d3806..7be368e 100644
--- a/http2/adapter/test_frame_sequence.cc
+++ b/http2/adapter/test_frame_sequence.cc
@@ -1,6 +1,7 @@
 #include "http2/adapter/test_frame_sequence.h"
 
 #include "http2/adapter/http2_util.h"
+#include "http2/adapter/oghttp2_util.h"
 #include "spdy/core/spdy_framer.h"
 
 namespace http2 {
@@ -104,13 +105,7 @@
 TestFrameSequence& TestFrameSequence::Headers(Http2StreamId stream_id,
                                               absl::Span<const Header> headers,
                                               bool fin) {
-  spdy::SpdyHeaderBlock block;
-  for (const Header& header : headers) {
-    absl::string_view name = GetStringView(header.first).first;
-    absl::string_view value = GetStringView(header.second).first;
-    block[name] = value;
-  }
-  return Headers(stream_id, std::move(block), fin);
+  return Headers(stream_id, ToHeaderBlock(headers), fin);
 }
 
 TestFrameSequence& TestFrameSequence::WindowUpdate(Http2StreamId stream_id,
