aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authoripkn <ipknhama@gmail.com>2014-07-08 11:59:58 +0900
committeripkn <ipknhama@gmail.com>2014-07-08 11:59:58 +0900
commite02e1d33900b4b120998bcbc366144d421e3b760 (patch)
tree286c205c1a45261781f65eebcdfa476f3a99add1 /README.md
parent376cb208b3fdd006c9d11561b865cdc03e7185b5 (diff)
downloadcrow-e02e1d33900b4b120998bcbc366144d421e3b760.tar.gz
crow-e02e1d33900b4b120998bcbc366144d421e3b760.zip
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md67
1 files changed, 67 insertions, 0 deletions
diff --git a/README.md b/README.md
index c19fa94..a47140f 100644
--- a/README.md
+++ b/README.md
@@ -3,4 +3,71 @@ Crow
Crow is C++ microframework for web. (inspired by Python Flask)
+(still in development, not completed yet)
+Example
+=======
+
+```c++
+
+#include "crow.h"
+#include "json.h"
+
+#include <sstream>
+
+int main()
+{
+ crow::Crow app;
+
+ CROW_ROUTE(app, "/")
+ .name("hello")
+ ([]{
+ return "Hello World!";
+ });
+
+ CROW_ROUTE(app, "/about")
+ ([](){
+ return "About Crow example.";
+ });
+
+ // simple json response
+ CROW_ROUTE(app, "/json")
+ ([]{
+ crow::json::wvalue x;
+ x["message"] = "Hello, World!";
+ return x;
+ });
+
+ CROW_ROUTE(app,"/hello/<int>")
+ ([](int count){
+ if (count > 100)
+ return crow::response(400);
+ std::ostringstream os;
+ os << count << " bottles of beer!";
+ return crow::response(os.str());
+ });
+
+ // Compile error with message "Handler type is mismatched with URL paramters"
+ //CROW_ROUTE(app,"/another/<int>")
+ //([](int a, int b){
+ //return crow::response(500);
+ //});
+
+ // more json example
+ CROW_ROUTE(app, "/add_json")
+ ([](const crow::request& req){
+ auto x = crow::json::load(req.body);
+ if (!x)
+ return crow::response(400);
+ int sum = x["a"].i()+x["b"].i();
+ std::ostringstream os;
+ os << sum;
+ return crow::response{os.str()};
+ });
+
+ app.port(18080)
+ .multithreaded()
+ .run();
+}
+
+```