Older/WebApplication/Restful.h

63 lines
1.3 KiB
C
Raw Normal View History

2024-11-01 19:05:20 +08:00
#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__