Remove HttpFile to FormPart; refine payload prepare.
This commit is contained in:
@@ -14,9 +14,13 @@ bool kSslVerify = true;
|
||||
#endif
|
||||
|
||||
void Help(const char* argv0) {
|
||||
std::cout << "Usage: " << argv0 << " <upload_dir>" << std::endl;
|
||||
std::cout << "Usage: " << argv0 << " <upload_dir> [url]" << std::endl;
|
||||
std::cout << "Default Url: http://httpbin.org/post" << std::endl;
|
||||
std::cout << " E.g.," << std::endl;
|
||||
std::cout << " " << argv0 << "E:/github/webcc/data/upload" << std::endl;
|
||||
std::cout << " " << argv0
|
||||
<< "E:/github/webcc/data/upload http://httpbin.org/post"
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
@@ -29,6 +33,13 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
const webcc::Path upload_dir(argv[1]);
|
||||
|
||||
std::string url;
|
||||
if (argc == 3) {
|
||||
url = argv[2];
|
||||
} else {
|
||||
url = "http://httpbin.org/post";
|
||||
}
|
||||
|
||||
namespace bfs = boost::filesystem;
|
||||
|
||||
if (!bfs::is_directory(upload_dir) || !bfs::exists(upload_dir)) {
|
||||
@@ -38,9 +49,6 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
webcc::HttpClientSession session;
|
||||
|
||||
//std::string url = "http://httpbin.org/post";
|
||||
std::string url = "http://localhost:8080/upload";
|
||||
|
||||
try {
|
||||
auto r = session.PostFile(url, "file",
|
||||
upload_dir / "remember.txt");
|
||||
|
||||
@@ -12,11 +12,11 @@ public:
|
||||
void Handle(const webcc::RestRequest& request,
|
||||
webcc::RestResponse* response) final {
|
||||
if (request.http->method() == webcc::http::methods::kPost) {
|
||||
std::cout << "files: " << request.http->files().size() << std::endl;
|
||||
std::cout << "files: " << request.http->form_parts().size() << std::endl;
|
||||
|
||||
for (auto& pair : request.http->files()) {
|
||||
std::cout << "name: " << pair.first << std::endl;
|
||||
std::cout << "data: " << std::endl << pair.second.data() << std::endl;
|
||||
for (auto& file : request.http->form_parts()) {
|
||||
std::cout << "name: " << file.name() << std::endl;
|
||||
std::cout << "data: " << std::endl << file.data() << std::endl;
|
||||
}
|
||||
|
||||
response->content = "OK";
|
||||
|
||||
@@ -18,8 +18,8 @@ void ExampleBasic() {
|
||||
auto r = session.Request(webcc::HttpRequestBuilder{}
|
||||
.Get()
|
||||
.Url("http://httpbin.org/get")
|
||||
.Parameter("key1", "value1")
|
||||
.Parameter("key2", "value2")
|
||||
.Query("key1", "value1")
|
||||
.Query("key2", "value2")
|
||||
.Header("Accept", "application/json")());
|
||||
|
||||
std::cout << r->content() << std::endl;
|
||||
@@ -44,7 +44,7 @@ void ExampleHttps() {
|
||||
auto r = session.Request(webcc::HttpRequestBuilder{}
|
||||
.Get()
|
||||
.Url("https://httpbin.org/get")
|
||||
.Parameter("key1", "value1")
|
||||
.Query("key1", "value1")
|
||||
.Header("Accept", "application/json")());
|
||||
|
||||
std::cout << r->content() << std::endl;
|
||||
|
||||
Reference in New Issue
Block a user