Add a runtime switch between httpd implementions. One of which is totally not hooked up yet.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4685 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2023-12-21 00:56:16 +00:00
parent 58e75ee276
commit f9940fc436
5 changed files with 105 additions and 61 deletions

32
src/httpd.js.c Normal file
View File

@ -0,0 +1,32 @@
#include "httpd.js.h"
#include "log.h"
static JSValue _httpd_all(JSContext* context, JSValueConst this_val, int argc, JSValueConst* argv)
{
tf_printf("HTTPD_ALL UNIMPLEMENTED\n");
return JS_UNDEFINED;
}
static JSValue _httpd_register_socket_handler(JSContext* context, JSValueConst this_val, int argc, JSValueConst* argv)
{
tf_printf("HTTPD_REGISTER_SOCKET_HANDLER UNIMPLEMENTED\n");
return JS_UNDEFINED;
}
static JSValue _httpd_start(JSContext* context, JSValueConst this_val, int argc, JSValueConst* argv)
{
tf_printf("HTTPD_START UNIMPLEMENTED\n");
return JS_UNDEFINED;
}
void tf_httpd_register(JSContext* context)
{
JSValue global = JS_GetGlobalObject(context);
JSValue httpd = JS_NewObject(context);
JS_SetPropertyStr(context, httpd, "all", JS_NewCFunction(context, _httpd_all, "all", 2));
JS_SetPropertyStr(context, httpd, "registerSocketHandler", JS_NewCFunction(context, _httpd_register_socket_handler, "register_socket_handler", 2));
JS_SetPropertyStr(context, httpd, "start", JS_NewCFunction(context, _httpd_start, "start", 0));
JS_SetPropertyStr(context, global, "httpdc", httpd);
JS_FreeValue(context, global);
}

5
src/httpd.js.h Normal file
View File

@ -0,0 +1,5 @@
#pragma once
#include "quickjs.h"
void tf_httpd_register(JSContext* context);

View File

@ -3,6 +3,7 @@
#include "bcrypt.js.h"
#include "database.js.h"
#include "file.js.h"
#include "httpd.js.h"
#include "log.h"
#include "mem.h"
#include "packetstream.h"
@ -1731,6 +1732,7 @@ void tf_task_activate(tf_task_t* task)
JS_SetPropertyStr(context, global, "TlsContext", tf_tls_context_register(context));
tf_file_register(context);
tf_database_register(context);
tf_httpd_register(context);
task->_ssb = tf_ssb_create(&task->_loop, task->_context, task->_db_path);
tf_ssb_set_trace(task->_ssb, task->_trace);