123456789101112131415161718192021222324252627282930313233 |
- //
- // Created by xcbosa on 2023/1/28.
- //
- #include "../webuiconf.h"
- #include "RequestProcessWorker.h"
- #include "processor.h"
- namespace xc {
- namespace processor {
- void RequestProcessWorker::workerLoop() {
- while (true) {
- RequestProcessTask *task = processor::dequeueTaskSync();
- ContentGenerator *generator = nullptr;
- for (int i = 0; i < generatorsCnt; i++) {
- auto it = generators[i];
- if (it->matchRequest(task->getRequest())) {
- generator = it;
- }
- }
- ResponseData *resp = nullptr;
- if (generator == nullptr) {
- resp = new FileResponseData(conf::errorPage404);
- } else {
- resp = generator->generateResponse(task->getRequest());
- }
- task->processFinish(resp);
- }
- }
- } // xc
- } // processor
|