Browse Source

Updated README

yhirose 5 years ago
parent
commit
85637844c9
1 changed files with 13 additions and 4 deletions
  1. 13 4
      README.md

+ 13 - 4
README.md

@@ -171,14 +171,14 @@ svr.Post("/content_receiver",
 ### Send content with Content provider
 ### Send content with Content provider
 
 
 ```cpp
 ```cpp
-const uint64_t DATA_CHUNK_SIZE = 4;
+const size_t DATA_CHUNK_SIZE = 4;
 
 
 svr.Get("/stream", [&](const Request &req, Response &res) {
 svr.Get("/stream", [&](const Request &req, Response &res) {
   auto data = new std::string("abcdefg");
   auto data = new std::string("abcdefg");
 
 
   res.set_content_provider(
   res.set_content_provider(
     data->size(), // Content length
     data->size(), // Content length
-    [data](uint64_t offset, uint64_t length, DataSink &sink) {
+    [data](size_t offset, size_t length, DataSink &sink) {
       const auto &d = *data;
       const auto &d = *data;
       sink.write(&d[offset], std::min(length, DATA_CHUNK_SIZE));
       sink.write(&d[offset], std::min(length, DATA_CHUNK_SIZE));
     },
     },
@@ -191,7 +191,7 @@ svr.Get("/stream", [&](const Request &req, Response &res) {
 ```cpp
 ```cpp
 svr.Get("/chunked", [&](const Request& req, Response& res) {
 svr.Get("/chunked", [&](const Request& req, Response& res) {
   res.set_chunked_content_provider(
   res.set_chunked_content_provider(
-    [](uint64_t offset, DataSink &sink) {
+    [](size_t offset, DataSink &sink) {
        sink.write("123", 3);
        sink.write("123", 3);
        sink.write("345", 3);
        sink.write("345", 3);
        sink.write("789", 3);
        sink.write("789", 3);
@@ -290,7 +290,7 @@ auto res = cli.Get("/hi", headers);
 std::string body;
 std::string body;
 
 
 auto res = cli.Get("/large-data",
 auto res = cli.Get("/large-data",
-  [&](const char *data, uint64_t data_length) {
+  [&](const char *data, size_t data_length) {
     body.append(data, data_length);
     body.append(data, data_length);
     return true;
     return true;
   });
   });
@@ -436,6 +436,15 @@ Get(requests, "/get-request2");
 Post(requests, "/post-request1", "text", "text/plain");
 Post(requests, "/post-request1", "text", "text/plain");
 Post(requests, "/post-request2", "text", "text/plain");
 Post(requests, "/post-request2", "text", "text/plain");
 
 
+const size_t DATA_CHUNK_SIZE = 4;
+std::string data("abcdefg");
+Post(requests, "/post-request-with-content-provider",
+  data.size(),
+  [&](size_t offset, size_t length, DataSink &sink){
+    sink.write(&data[offset], std::min(length, DATA_CHUNK_SIZE));
+  },
+  "text/plain");
+
 std::vector<Response> responses;
 std::vector<Response> responses;
 if (cli.send(requests, responses)) {
 if (cli.send(requests, responses)) {
   for (const auto& res: responses) {
   for (const auto& res: responses) {