Files
zaloopipe/pipeline-runner/src/server.h
T

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