Browse Source

Fixed variable capture problem.

yhirose 13 years ago
parent
commit
ace3bb6caf
2 changed files with 7 additions and 1 deletions
  1. 6 0
      example/sample.cc
  2. 1 1
      httpsvrkit.h

+ 6 - 0
example/sample.cc

@@ -47,6 +47,8 @@ std::string dump_request(Context& cxt)
 int main(void)
 {
     if (true) {
+        const char* s = "abcde";
+
         // DSL style
         HTTP_SERVER("localhost", 1234) {
 
@@ -57,6 +59,10 @@ int main(void)
             GET("/home", {
                 res.set_content(dump_request(cxt));
             });
+
+            GET("/abcde", {
+                res.set_content(s);
+            });
         }
     } else {
         // Regular style

+ 1 - 1
httpsvrkit.h

@@ -416,7 +416,7 @@ inline void Server::process_request(FILE* fp_read, FILE* fp_write)
          svr->run(), svr.reset())
 
 #define GET(url, body) \
-    svr->get(url, [](httpsvrkit::Context& cxt) { \
+    svr->get(url, [&](httpsvrkit::Context& cxt) { \
         const auto& req = cxt.request; \
         auto& res = cxt.response; \
         body \