63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#ifndef __RESTFUL_H__
|
|
#define __RESTFUL_H__
|
|
|
|
#include <Wt/Dbo/Session.h>
|
|
#include <Wt/Dbo/Types.h>
|
|
#include <Wt/WResource.h>
|
|
#include <random>
|
|
|
|
class MyMessage {
|
|
public:
|
|
std::string message;
|
|
|
|
template <class Action>
|
|
void persist(Action &a) {
|
|
Wt::Dbo::field(a, message, "message");
|
|
}
|
|
};
|
|
|
|
class World {
|
|
public:
|
|
int randomNumber;
|
|
|
|
template <class Action>
|
|
void persist(Action &a) {
|
|
Wt::Dbo::field(a, randomNumber, "randomnumber");
|
|
}
|
|
};
|
|
|
|
class Fortune {
|
|
public:
|
|
std::string message;
|
|
|
|
template <class Action>
|
|
void persist(Action &a) {
|
|
Wt::Dbo::field(a, message, "message");
|
|
}
|
|
};
|
|
|
|
struct DbStruct {
|
|
DbStruct(const std::string &db);
|
|
int rand();
|
|
Wt::Dbo::Session session;
|
|
std::default_random_engine rng;
|
|
std::uniform_int_distribution<int> distribution;
|
|
};
|
|
|
|
class JsonResource : public Wt::WResource {
|
|
public:
|
|
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
|
|
};
|
|
|
|
class PlaintextResource : public Wt::WResource {
|
|
public:
|
|
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
|
|
};
|
|
|
|
class DbResource : public Wt::WResource {
|
|
public:
|
|
DbResource(const std::string &db);
|
|
void handleRequest(const Wt::Http::Request &request, Wt::Http::Response &response) final;
|
|
};
|
|
|
|
#endif // __RESTFUL_H__
|