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

Unified Diff: mojo/examples/wget/wget.cc

Issue 684543003: Move //mojo/examples to //examples (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « mojo/examples/wget/BUILD.gn ('k') | mojo/examples/window_manager/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/examples/wget/wget.cc
diff --git a/mojo/examples/wget/wget.cc b/mojo/examples/wget/wget.cc
deleted file mode 100644
index 5b9e5ca8c6eaea74b30c36a52e21d896f2c2ff8e..0000000000000000000000000000000000000000
--- a/mojo/examples/wget/wget.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// 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 <stdio.h>
-
-#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/application/application_runner.h"
-#include "mojo/public/cpp/utility/run_loop.h"
-#include "mojo/services/public/interfaces/network/network_service.mojom.h"
-#include "mojo/services/public/interfaces/network/url_loader.mojom.h"
-
-namespace mojo {
-namespace examples {
-namespace {
-
-class ResponsePrinter {
- public:
- void Run(URLResponsePtr response) const {
- if (response->error) {
- printf("Got error: %d (%s)\n",
- response->error->code, response->error->description.get().c_str());
- } else {
- PrintResponse(response);
- PrintResponseBody(response->body.Pass());
- }
-
- RunLoop::current()->Quit(); // All done!
- }
-
- void PrintResponse(const URLResponsePtr& response) const {
- printf(">>> Headers <<< \n");
- printf(" %s\n", response->status_line.get().c_str());
- if (response->headers) {
- for (size_t i = 0; i < response->headers.size(); ++i)
- printf(" %s\n", response->headers[i].get().c_str());
- }
- }
-
- void PrintResponseBody(ScopedDataPipeConsumerHandle body) const {
- // Read response body in blocking fashion.
- printf(">>> Body <<<\n");
-
- for (;;) {
- char buf[512];
- uint32_t num_bytes = sizeof(buf);
- MojoResult result = ReadDataRaw(body.get(), buf, &num_bytes,
- MOJO_READ_DATA_FLAG_NONE);
- if (result == MOJO_RESULT_SHOULD_WAIT) {
- Wait(body.get(),
- MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE);
- } else if (result == MOJO_RESULT_OK) {
- if (fwrite(buf, num_bytes, 1, stdout) != 1) {
- printf("\nUnexpected error writing to file\n");
- break;
- }
- } else {
- break;
- }
- }
-
- printf("\n>>> EOF <<<\n");
- }
-};
-
-} // namespace
-
-class WGetApp : public ApplicationDelegate {
- public:
- virtual void Initialize(ApplicationImpl* app) override {
- app->ConnectToService("mojo:network_service", &network_service_);
- Start(app->args());
- }
-
- private:
- void Start(const std::vector<std::string>& args) {
- std::string url((args.size() > 1) ? args[1] : PromptForURL());
- printf("Loading: %s\n", url.c_str());
-
- network_service_->CreateURLLoader(GetProxy(&url_loader_));
-
- URLRequestPtr request(URLRequest::New());
- request->url = url;
- request->method = "GET";
- request->auto_follow_redirects = true;
-
- url_loader_->Start(request.Pass(), ResponsePrinter());
- }
-
- std::string PromptForURL() {
- printf("Enter URL> ");
- char buf[1024];
- if (scanf("%1023s", buf) != 1)
- buf[0] = '\0';
- return buf;
- }
-
- NetworkServicePtr network_service_;
- URLLoaderPtr url_loader_;
-};
-
-} // namespace examples
-} // namespace mojo
-
-MojoResult MojoMain(MojoHandle shell_handle) {
- mojo::ApplicationRunner runner(new mojo::examples::WGetApp);
- return runner.Run(shell_handle);
-}
« no previous file with comments | « mojo/examples/wget/BUILD.gn ('k') | mojo/examples/window_manager/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698