diff --git a/tools/skiaserve/Request.h b/tools/skiaserve/Request.h
new file mode 100644
index 0000000..fd18bda
--- /dev/null
+++ b/tools/skiaserve/Request.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2016 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef Request_DEFINED
+#define Request_DEFINED
+
+#include "GrContextFactory.h"
+
+#include "SkDebugCanvas.h"
+#include "SkPicture.h"
+#include "SkStream.h"
+#include "SkSurface.h"
+
+#include "UrlDataManager.h"
+
+struct MHD_Connection;
+struct MHD_PostProcessor;
+
+struct UploadContext {
+    SkDynamicMemoryWStream fStream;
+    MHD_PostProcessor* fPostProcessor;
+    MHD_Connection* connection;
+};
+
+struct Request {
+    Request(SkString rootUrl) 
+    : fUploadContext(nullptr)
+    , fUrlDataManager(rootUrl)
+    , fGPUEnabled(false) {}
+
+    UploadContext* fUploadContext;
+    SkAutoTUnref<SkPicture> fPicture;
+    SkAutoTUnref<SkDebugCanvas> fDebugCanvas;
+    SkAutoTDelete<GrContextFactory> fContextFactory;
+    SkAutoTUnref<SkSurface> fSurface;
+    UrlDataManager fUrlDataManager;
+    bool fGPUEnabled;
+};
+
+#endif
+
diff --git a/tools/skiaserve/skiaserve.cpp b/tools/skiaserve/skiaserve.cpp
index 96760b9..5947d3d 100644
--- a/tools/skiaserve/skiaserve.cpp
+++ b/tools/skiaserve/skiaserve.cpp
@@ -7,18 +7,14 @@
 
 #include "GrCaps.h"
 #include "GrContextFactory.h"
+
+#include "Request.h"
+
 #include "SkCanvas.h"
 #include "SkCommandLineFlags.h"
-#include "SkDebugCanvas.h"
 #include "SkJSONCanvas.h"
-#include "SkJSONCPP.h"
-#include "SkPicture.h"
 #include "SkPictureRecorder.h"
 #include "SkPixelSerializer.h"
-#include "SkStream.h"
-#include "SkSurface.h"
-
-#include "UrlDataManager.h"
 
 #include <sys/socket.h>
 #include <microhttpd.h>
@@ -59,27 +55,6 @@
 
 }
 
-struct UploadContext {
-    SkDynamicMemoryWStream fStream;
-    MHD_PostProcessor* fPostProcessor;
-    MHD_Connection* connection;
-};
-
-struct Request {
-    Request(SkString rootUrl)
-    : fUploadContext(nullptr)
-    , fUrlDataManager(rootUrl)
-    , fGPUEnabled(false) {}
-
-    UploadContext* fUploadContext;
-    SkAutoTUnref<SkPicture> fPicture;
-    SkAutoTUnref<SkDebugCanvas> fDebugCanvas;
-    SkAutoTDelete<GrContextFactory> fContextFactory;
-    SkAutoTUnref<SkSurface> fSurface;
-    UrlDataManager fUrlDataManager;
-    bool fGPUEnabled;
-};
-
 static void write_png_callback(png_structp png_ptr, png_bytep data, png_size_t length) {
     SkWStream* out = (SkWStream*) png_get_io_ptr(png_ptr);
     out->write(data, length);
