aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.cpp
blob: 8a08b4a1c3199f9ec79b2ee381b86897f2867390 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "N-Commands/KlingerHandler.hpp"
#include "N-Commands/RelationshipHandler.hpp"
#include "Utilities/GetEssen.hpp"
#include "Utilities/Logger.hpp"
#include "Utilities/Utilities.hpp"
#include "Utilities/sqdb.hpp"
#include <mongoose/Server.h>
#include <mongoose/WebController.h>
#include <mongoose/JsonController.h>


using namespace std;
using namespace Mongoose;

class MyController : public JsonController
{
public:
    void hello(Request &request, JsonResponse &response)
    {
        response["text"] = "Hello " + htmlEntities(request.get("name", "... what's your name ?")) + "\n";
        response["success"] = "1";
        response["session"] = "NULL";
    }
    void klinger(Request &request, JsonResponse &response){
        KlingerHandler klinger;
        klinger.onCall(request, response);
    }
    void relation(Request &request, JsonResponse &response){
        RelationshipHandler relation;
        relation.onCall(request, response);
    }
    void mensa(Request &request, JsonResponse &response){
        returnEssen(request, response);
    }

    void setup()
    {
        setPrefix("/api/v1");
        addRouteResponse("GET", "/hello", MyController, hello, JsonResponse);
        addRouteResponse("GET", "/klinger", MyController, klinger, JsonResponse);
        addRouteResponse("GET", "/relation", MyController, relation, JsonResponse);
        addRouteResponse("GET", "/mensa", MyController, mensa, JsonResponse);
    }
};


int main()
{
    MyController myController;
    Server server(8080);
    server.registerController(&myController);

    server.start();

    while (1) {
        MyController::sleep(10);
    }
}