Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: third_party/mojo_services/src/http_server/public/cpp/lib/http_server_util.cc

Issue 1019173002: Update mojo sdk to rev 7214b7ec7d27563b2666afad86cf1c5895c56c18 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Keep permission service alive if embedder drops requests Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/mojo_services/src/http_server/public/cpp/lib/http_server_util.cc
diff --git a/third_party/mojo_services/src/http_server/public/cpp/lib/http_server_util.cc b/third_party/mojo_services/src/http_server/public/cpp/lib/http_server_util.cc
new file mode 100644
index 0000000000000000000000000000000000000000..8073fd2e69e6ed2b41de4843b6e96da2e38d33e8
--- /dev/null
+++ b/third_party/mojo_services/src/http_server/public/cpp/lib/http_server_util.cc
@@ -0,0 +1,33 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "mojo/services/http_server/public/cpp/http_server_util.h"
+
+#include "mojo/public/cpp/environment/logging.h"
+#include "mojo/public/cpp/system/data_pipe.h"
+
+namespace http_server {
+
+HttpResponsePtr CreateHttpResponse(uint32_t status_code,
+ const std::string& body) {
+ HttpResponsePtr response = HttpResponse::New();
+
+ mojo::ScopedDataPipeProducerHandle producer_handle;
+ uint32_t num_bytes = static_cast<uint32_t>(body.size());
+ MojoCreateDataPipeOptions options = {sizeof(MojoCreateDataPipeOptions),
+ MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE,
+ 1,
+ num_bytes};
+ MojoResult result =
+ CreateDataPipe(&options, &producer_handle, &response->body);
+ MOJO_DCHECK(MOJO_RESULT_OK == result);
+ result = WriteDataRaw(producer_handle.get(), body.c_str(), &num_bytes,
+ MOJO_WRITE_DATA_FLAG_ALL_OR_NONE);
+ MOJO_DCHECK(MOJO_RESULT_OK == result);
+ response->status_code = status_code;
+ response->content_length = num_bytes;
+ return response.Pass();
+}
+
+} // namespace http_server

Powered by Google App Engine
This is Rietveld 408576698