diff --git a/juniper/src/http.rs b/juniper/src/http.rs
index 0c90f8ee..79163d4b 100644
--- a/juniper/src/http.rs
+++ b/juniper/src/http.rs
@@ -14,7 +14,7 @@ use executor::ExecutionError;
 ///
 /// For GET, you will need to parse the query string and exctract "query",
 /// "operationName", and "variables" manually.
-#[derive(Deserialize)]
+#[derive(Deserialize, Clone)]
 pub struct GraphQLRequest {
     query: String,
     #[serde(rename = "operationName")]