42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
#ifndef SERVER_H
|
|
#define SERVER_H
|
|
|
|
#include "pipeline.h"
|
|
#include "runner.h"
|
|
|
|
#include <pihttptypes.h>
|
|
#include <piobject.h>
|
|
|
|
class PIHTTPServer;
|
|
|
|
class Server: public PIObject {
|
|
PIOBJECT(Server)
|
|
|
|
public:
|
|
Server(ushort port, const PIString & pipelines_dir, const PIString & logs_dir, const PIString & web_root = PIString());
|
|
~Server();
|
|
|
|
bool start();
|
|
|
|
private:
|
|
void serveStaticFiles(const PIString & web_root);
|
|
|
|
PIHTTP::MessageMutable listPipelines(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable createPipeline(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable deletePipeline(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable getPipeline(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable startRun(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable getRunStatus(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable getRunLog(const PIHTTP::MessageConst & request);
|
|
PIHTTP::MessageMutable unhandledRequest(const PIHTTP::MessageConst & request);
|
|
|
|
ushort port_;
|
|
PIString pipelines_dir_;
|
|
PIString logs_dir_;
|
|
PIString web_root_;
|
|
PIHTTPServer * httpserver_;
|
|
PipelineRunner runner_;
|
|
};
|
|
|
|
#endif
|