From d2c4ff43fe2386d72c01ef141d6f24e36fd97f48 Mon Sep 17 00:00:00 2001 From: David Colvine Date: Tue, 24 Nov 2020 19:44:56 -0800 Subject: [PATCH 1/2] testing commit of hellow world program and output --- HelloWorld.cpp | 7 +++++++ a.out | Bin 0 -> 17328 bytes 2 files changed, 7 insertions(+) create mode 100644 HelloWorld.cpp create mode 100755 a.out diff --git a/HelloWorld.cpp b/HelloWorld.cpp new file mode 100644 index 0000000..333de39 --- /dev/null +++ b/HelloWorld.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + std::cout << "Hello World" << std::endl; + return 0; +} \ No newline at end of file diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..f9c70a149619d123f44fb237710ef7c69ac871ba GIT binary patch literal 17328 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 literal 0 HcmV?d00001 From 7855bf23e8bbd5eaecff189c93e0b4ff6fa8e2d4 Mon Sep 17 00:00:00 2001 From: David Colvine Date: Tue, 1 Dec 2020 21:04:15 -0800 Subject: [PATCH 2/2] Upload example file --- CBExample.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 CBExample.cpp diff --git a/CBExample.cpp b/CBExample.cpp new file mode 100644 index 0000000..68d71bd --- /dev/null +++ b/CBExample.cpp @@ -0,0 +1,94 @@ +/*** + * Copyright (C) Microsoft. All rights reserved. + * Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. + * + * =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + * + * bingrequest.cpp - Simple cmd line application that makes an HTTP GET request to bing searching and outputting + * the resulting HTML response body into a file. + * + * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + ****/ + +#include +#include + +using namespace utility; +using namespace web::http; +using namespace web::http::client; +using namespace concurrency::streams; + +/* Can pass proxy information via environment variable http_proxy. + Example: + Linux: export http_proxy=http://192.1.8.1:8080 + */ + +export http_proxy=http://192.1.8.1:8080 + +web::http::client::http_client_config client_config_for_proxy() +{ + web::http::client::http_client_config client_config; +#ifdef _WIN32 + wchar_t* pValue = nullptr; + std::unique_ptr holder(nullptr, [](wchar_t* p) { free(p); }); + size_t len = 0; + auto err = _wdupenv_s(&pValue, &len, L"http_proxy"); + if (pValue) holder.reset(pValue); + if (!err && pValue && len) + { + std::wstring env_http_proxy_string(pValue, len - 1); +#else + if (const char* env_http_proxy = std::getenv("http_proxy")) + { + std::string env_http_proxy_string(env_http_proxy); +#endif + if (env_http_proxy_string == U("auto")) + client_config.set_proxy(web::web_proxy::use_auto_discovery); + else + client_config.set_proxy(web::web_proxy(env_http_proxy_string)); + } + + return client_config; +} + +#ifdef _WIN32 +int wmain(int argc, wchar_t* args[]) +#else +int main(int argc, char* args[]) +#endif +{ + if (argc != 3) + { + printf("Usage: BingRequest.exe search_term output_file\n"); + return -1; + } + const string_t searchTerm = args[1]; + const string_t outputFileName = args[2]; + + // Open a stream to the file to write the HTTP response body into. + auto fileBuffer = std::make_shared>(); + file_buffer::open(outputFileName, std::ios::out) + .then([=](streambuf outFile) -> pplx::task { + *fileBuffer = outFile; + + // Create an HTTP request. + // Encode the URI query since it could contain special characters like spaces. + http_client client(U("http://www.bing.com/"), client_config_for_proxy()); + return client.request(methods::GET, uri_builder(U("/search")).append_query(U("q"), searchTerm).to_string()); + }) + + // Write the response body into the file buffer. + .then([=](http_response response) -> pplx::task { + printf("Response status code %u returned.\n", response.status_code()); + + return response.body().read_to_end(*fileBuffer); + }) + + // Close the file buffer. + .then([=](size_t) { return fileBuffer->close(); }) + + // Wait for the entire response body to be written into the file. + .wait(); + + return 0; +} \ No newline at end of file