/**************************************************************************** * This file is part of the project AqHome. * AqHome (c) by 2025 Martin Preuss, all rights reserved. * * The license for this file can be found in the file COPYING which you * should have received along with this file. ****************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "./mroot_p.h" #include "aqhome-cgi/service/module.h" #include /* ------------------------------------------------------------------------------------------------ * defs and enums * ------------------------------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------------------------------ * global vars * ------------------------------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------------------------------ * forward declarations * ------------------------------------------------------------------------------------------------ */ static AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *sModuleName); static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *sLastPathElem); static int _handleRqLogin(AQH_MODULE *m, AQCGI_REQUEST *rq); /* ------------------------------------------------------------------------------------------------ * code * ------------------------------------------------------------------------------------------------ */ AQH_MODULE *AQH_ModRoot_new(AQH_SERVICE *sv, const char *baseFolder) { AQH_MODULE *m; m=AQH_ModService_new(sv, baseFolder); AQH_ModService_SetHandleRequestFn(m, _handleRequest); AQH_ModService_SetLoadSubModuleFn(m, _loadSubModule); return m; } AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *sModuleName) { return NULL; } int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *sLastPathElem) { if (strcasecmp(sLastPathElem, "login")==0) return _handleRqLogin(m, rq); else if (strcasecmp(sLastPathElem, "signup")==0) { } else if (strcasecmp(sLastPathElem, "confirm")==0) { } } int _handleRqLogin(AQH_MODULE *m, AQCGI_REQUEST *rq) { if (AQCGI_Request_GetRequestMethod(rq)==AQCGI_REQUEST_METHOD_GET) { int rv; rv=AQH_ModService_RespondWithFile(m, rq, "login.html"); if (rv<0) { DBG_INFO(NULL, "here (%d)", rv); return rv; } return 0; } else if (AQCGI_Request_GetRequestMethod(rq)==AQCGI_REQUEST_METHOD_POST) { GWEN_DB_NODE *dbPost; dbPost=AQCGI_Request_GetDbPostBody(rq); if (dbPost) { } } else { } }