Temporarily revert streaming HTTP API

These API needs more investigation. Keep strings for now.

BUG:24790811
Change-Id: Ie390fd483c058f592d0b0788cad80e0c4751615c
Reviewed-on: https://weave-review.googlesource.com/1278
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/examples/ubuntu/event_http_server.cc b/libweave/examples/ubuntu/event_http_server.cc
index f2c136c..14a5723 100644
--- a/libweave/examples/ubuntu/event_http_server.cc
+++ b/libweave/examples/ubuntu/event_http_server.cc
@@ -63,11 +63,6 @@
       : task_runner_{task_runner} {
     req_.reset(req);
     uri_ = evhttp_request_get_evhttp_uri(req_.get());
-
-    std::vector<uint8_t> data(evbuffer_get_length(req_->input_buffer));
-    evbuffer_remove(req_->input_buffer, data.data(), data.size());
-
-    data_.reset(new MemoryReadStream{data, task_runner_});
   }
 
   ~RequestImpl() {}
@@ -82,7 +77,12 @@
       return {};
     return header;
   }
-  InputStream* GetDataStream() { return data_.get(); }
+  std::string GetData() {
+    std::string data;
+    data.resize(evbuffer_get_length(req_->input_buffer));
+    evbuffer_remove(req_->input_buffer, &data[0], data.size());
+    return data;
+  }
 
   void SendReply(int status_code,
                  const std::string& data,
diff --git a/libweave/include/weave/provider/http_server.h b/libweave/include/weave/provider/http_server.h
index ce0b684..44ff34e 100644
--- a/libweave/include/weave/provider/http_server.h
+++ b/libweave/include/weave/provider/http_server.h
@@ -22,7 +22,7 @@
 
     virtual std::string GetPath() const = 0;
     virtual std::string GetFirstHeader(const std::string& name) const = 0;
-    virtual InputStream* GetDataStream() = 0;
+    virtual std::string GetData() = 0;
 
     virtual void SendReply(int status_code,
                            const std::string& data,
diff --git a/libweave/src/privet/privet_manager.cc b/libweave/src/privet/privet_manager.cc
index 31af8ae..b2a9882 100644
--- a/libweave/src/privet/privet_manager.cc
+++ b/libweave/src/privet/privet_manager.cc
@@ -124,30 +124,9 @@
       SplitAtFirst(request->GetFirstHeader(http::kContentType), ";", true)
           .first;
 
-  if (content_type != http::kJson)
-    return PrivetRequestHandlerWithData(request, {});
-
-  std::unique_ptr<MemoryStream> mem_stream{new MemoryStream{{}, task_runner_}};
-  auto copier = std::make_shared<StreamCopier>(request->GetDataStream(),
-                                               mem_stream.get());
-  auto on_success = [request, copier](const base::WeakPtr<Manager>& weak_ptr,
-                                      std::unique_ptr<MemoryStream> mem_stream,
-                                      size_t size) {
-    if (weak_ptr) {
-      std::string data{mem_stream->GetData().begin(),
-                       mem_stream->GetData().end()};
-      weak_ptr->PrivetRequestHandlerWithData(request, data);
-    }
-  };
-  auto on_error = [request](const base::WeakPtr<Manager>& weak_ptr,
-                            const Error* error) {
-    if (weak_ptr)
-      weak_ptr->PrivetRequestHandlerWithData(request, {});
-  };
-
-  copier->Copy(base::Bind(on_success, weak_ptr_factory_.GetWeakPtr(),
-                          base::Passed(&mem_stream)),
-               base::Bind(on_error, weak_ptr_factory_.GetWeakPtr()));
+  return PrivetRequestHandlerWithData(request, content_type == http::kJson
+                                                   ? request->GetData()
+                                                   : std::string{});
 }
 
 void Manager::PrivetRequestHandlerWithData(