Moves nghttp2_session_callbacks creation from test code to nghttp2_callbacks.h.

PiperOrigin-RevId: 368278257
Change-Id: Ib27ad77919145292256c4cd0150e20c335084ab3
diff --git a/http2/adapter/nghttp2_callbacks.cc b/http2/adapter/nghttp2_callbacks.cc
index e897fa8..b54c915 100644
--- a/http2/adapter/nghttp2_callbacks.cc
+++ b/http2/adapter/nghttp2_callbacks.cc
@@ -14,6 +14,7 @@
 
 namespace http2 {
 namespace adapter {
+namespace callbacks {
 
 int OnBeginFrame(nghttp2_session* /* session */,
                  const nghttp2_frame_hd* header,
@@ -187,5 +188,24 @@
   return bytes_to_send;
 }
 
+nghttp2_session_callbacks* Create() {
+  nghttp2_session_callbacks* callbacks;
+  nghttp2_session_callbacks_new(&callbacks);
+
+  nghttp2_session_callbacks_set_on_begin_frame_callback(callbacks,
+                                                        &OnBeginFrame);
+  nghttp2_session_callbacks_set_on_frame_recv_callback(callbacks,
+                                                       &OnFrameReceived);
+  nghttp2_session_callbacks_set_on_begin_headers_callback(callbacks,
+                                                          &OnBeginHeaders);
+  nghttp2_session_callbacks_set_on_header_callback2(callbacks, &OnHeader);
+  nghttp2_session_callbacks_set_on_data_chunk_recv_callback(callbacks,
+                                                            &OnDataChunk);
+  nghttp2_session_callbacks_set_on_stream_close_callback(callbacks,
+                                                         &OnStreamClosed);
+  return callbacks;
+}
+
+}  // namespace callbacks
 }  // namespace adapter
 }  // namespace http2
diff --git a/http2/adapter/nghttp2_callbacks.h b/http2/adapter/nghttp2_callbacks.h
index 7e6ce7c..ba10e13 100644
--- a/http2/adapter/nghttp2_callbacks.h
+++ b/http2/adapter/nghttp2_callbacks.h
@@ -6,6 +6,7 @@
 
 namespace http2 {
 namespace adapter {
+namespace callbacks {
 
 // The following functions are nghttp2 callbacks that Nghttp2Adapter sets at the
 // beginning of its lifetime. It is expected that |user_data| holds an
@@ -46,6 +47,9 @@
                                    nghttp2_data_source* source,
                                    void* user_data);
 
+nghttp2_session_callbacks* Create();
+
+}  // namespace callbacks
 }  // namespace adapter
 }  // namespace http2
 
diff --git a/http2/adapter/nghttp2_session_test.cc b/http2/adapter/nghttp2_session_test.cc
index ad74013..1f0dd8f 100644
--- a/http2/adapter/nghttp2_session_test.cc
+++ b/http2/adapter/nghttp2_session_test.cc
@@ -41,21 +41,7 @@
   }
 
   nghttp2_session_callbacks* CreateCallbacks() {
-    nghttp2_session_callbacks* callbacks;
-    nghttp2_session_callbacks_new(&callbacks);
-
-    nghttp2_session_callbacks_set_on_begin_frame_callback(callbacks,
-                                                          &OnBeginFrame);
-    nghttp2_session_callbacks_set_on_frame_recv_callback(callbacks,
-                                                         &OnFrameReceived);
-    nghttp2_session_callbacks_set_on_begin_headers_callback(callbacks,
-                                                            &OnBeginHeaders);
-    nghttp2_session_callbacks_set_on_header_callback2(callbacks, &OnHeader);
-    nghttp2_session_callbacks_set_on_data_chunk_recv_callback(callbacks,
-                                                              &OnDataChunk);
-    nghttp2_session_callbacks_set_on_stream_close_callback(callbacks,
-                                                           &OnStreamClosed);
-
+    nghttp2_session_callbacks* callbacks = callbacks::Create();
     nghttp2_session_callbacks_set_send_callback(callbacks, &SaveSessionOutput);
     return callbacks;
   }