Disable hotreloading in prod

This commit is contained in:
kamkow1
2025-06-20 01:09:16 +02:00
parent 540b3a1567
commit edc039db6e
11 changed files with 36 additions and 29 deletions

View File

@ -1,7 +1,7 @@
#ifndef CONFIG_H_ #ifndef CONFIG_H_
#define CONFIG_H_ #define CONFIG_H_
#if DEBUG #if MY_DEBUG
# define CONFIG_LISTEN_URL "http://localhost:8080" # define CONFIG_LISTEN_URL "http://localhost:8080"
#else #else
# define CONFIG_LISTEN_URL "http://0.0.0.0:80" # define CONFIG_LISTEN_URL "http://0.0.0.0:80"

View File

@ -15,7 +15,9 @@ INCBIN(blog_html, "./tmpls/blog.html");
INCBIN(simple_css, "./etc/simple.css"); INCBIN(simple_css, "./etc/simple.css");
INCBIN(favicon_ico, "./etc/favicon.ico"); INCBIN(favicon_ico, "./etc/favicon.ico");
#if MY_DEBUG
INCBIN(hotreload_js, "./etc/hotreload.js"); INCBIN(hotreload_js, "./etc/hotreload.js");
#endif
INCBIN(blog_welcome_md, "./blog/welcome.md"); INCBIN(blog_welcome_md, "./blog/welcome.md");
INCBIN(blog_weird_page_md, "./blog/weird-page.md"); INCBIN(blog_weird_page_md, "./blog/weird-page.md");
@ -43,7 +45,9 @@ void init_baked_resources(void)
add_baked_resource("gpp1", gpp1_data, gpp1_size); add_baked_resource("gpp1", gpp1_data, gpp1_size);
add_baked_resource("simple.css", simple_css_data, simple_css_size); add_baked_resource("simple.css", simple_css_data, simple_css_size);
add_baked_resource("favicon.ico", favicon_ico_data, favicon_ico_size); add_baked_resource("favicon.ico", favicon_ico_data, favicon_ico_size);
#if MY_DEBUG
add_baked_resource("hotreload.js", hotreload_js_data, hotreload_js_size); add_baked_resource("hotreload.js", hotreload_js_data, hotreload_js_size);
#endif
add_baked_resource("blog-welcome.md", blog_welcome_md_data, blog_welcome_md_size); add_baked_resource("blog-welcome.md", blog_welcome_md_data, blog_welcome_md_size);
add_baked_resource("blog-weird-page.md", blog_weird_page_md_data, blog_weird_page_md_size); add_baked_resource("blog-weird-page.md", blog_weird_page_md_data, blog_weird_page_md_size);
add_baked_resource("blog-curious-case-of-gebs.md", blog_curious_case_of_gebs_md_data, blog_curious_case_of_gebs_md_size); add_baked_resource("blog-curious-case-of-gebs.md", blog_curious_case_of_gebs_md_data, blog_curious_case_of_gebs_md_size);

View File

@ -12,7 +12,9 @@ INCBIN_EXTERN(blog_html);
INCBIN_EXTERN(simple_css); INCBIN_EXTERN(simple_css);
INCBIN_EXTERN(favicon_ico); INCBIN_EXTERN(favicon_ico);
#if MY_DEBUG
INCBIN_EXTERN(hotreload_js); INCBIN_EXTERN(hotreload_js);
#endif
INCBIN_EXTERN(blog_welcome_md); INCBIN_EXTERN(blog_welcome_md);
INCBIN_EXTERN(blog_weird_page_md); INCBIN_EXTERN(blog_weird_page_md);

11
build.c
View File

@ -4,7 +4,7 @@
char *prog = NULL; char *prog = NULL;
#define DEBUG 1 #define MY_DEBUG 0
int main(int argc, char ** argv) int main(int argc, char ** argv)
{ {
@ -42,7 +42,7 @@ int main(int argc, char ** argv)
) { ) {
RULE("./mongoose.o", "./mongoose/mongoose.c") { RULE("./mongoose.o", "./mongoose/mongoose.c") {
#if DEBUG #if MY_DEBUG
CMD("cc", "-ggdb", "-c", "-fPIC", "-Wl,-z,execstack", "-D_GNU_SOURCE", CMD("cc", "-ggdb", "-c", "-fPIC", "-Wl,-z,execstack", "-D_GNU_SOURCE",
"-o", "./mongoose.o", "./mongoose/mongoose.c"); "-o", "./mongoose.o", "./mongoose/mongoose.c");
#else #else
@ -83,17 +83,16 @@ int main(int argc, char ** argv)
} }
} }
#if DEBUG #if MY_DEBUG
CMD("cc", "-fPIC", "-ggdb", "-I.", "-DDEBUG=1", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX", CMD("cc", "-fPIC", "-ggdb", "-I.", "-DMY_DEBUG=1", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
"-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-Wl,-z,execstack", "-o", "./aboba", "-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-Wl,-z,execstack", "-o", "./aboba",
"./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c", "./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c",
"./md5-c/md5.c", "./md5-c/md5.c",
"-lpthread"); "-lpthread");
#else #else
CMD("cc", "-fPIC", "-I.", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX", CMD("cc", "-fPIC", "-I.", "-DMY_DEBUG=0", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
"-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-Wl,-z,execstack", "-o", "./aboba", "-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-Wl,-z,execstack", "-o", "./aboba",
"./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c", "./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c",
"./md5-c/md5.c",
"-lpthread"); "-lpthread");
#endif #endif
} }

4
main.c
View File

@ -87,12 +87,14 @@ void event_handler(struct mg_connection *conn, int ev, void *ev_data)
void init_route_hashtable(void) void init_route_hashtable(void)
{ {
shdefault(route_hashtable, &route_page_not_found); shdefault(route_hashtable, &route_page_not_found);
shput(route_hashtable, "/", &route_home);
shput(route_hashtable, "/page-missing", &route_page_not_found); shput(route_hashtable, "/page-missing", &route_page_not_found);
shput(route_hashtable, "/simple.css", &route_simple_css); shput(route_hashtable, "/simple.css", &route_simple_css);
shput(route_hashtable, "/favicon.ico", &route_favicon); shput(route_hashtable, "/favicon.ico", &route_favicon);
#if MY_DEBUG
shput(route_hashtable, "/hotreload.js", &route_hotreload_js); shput(route_hashtable, "/hotreload.js", &route_hotreload_js);
shput(route_hashtable, "/", &route_home);
shput(route_hashtable, "/build-id", &route_build_id); shput(route_hashtable, "/build-id", &route_build_id);
#endif
shput(route_hashtable, "/blog", &route_blog); shput(route_hashtable, "/blog", &route_blog);
void put_blogs(Baked_Resource *resource) void put_blogs(Baked_Resource *resource)

View File

@ -1,7 +1,9 @@
#include "gebs/gebs.h" #include "gebs/gebs.h"
#include "mongoose/mongoose.h" #include "mongoose/mongoose.h"
#include "cJSON/cJSON.h" #include "cJSON/cJSON.h"
#if MY_DEBUG
#include "md5-c/md5.h" #include "md5-c/md5.h"
#endif
#include "routes.h" #include "routes.h"
#include "baked.h" #include "baked.h"
@ -72,6 +74,7 @@ bool gpp_run(char *path, NString_List *env, String_Builder *out)
return cmd_run_collect(&cmd, out) == 0; return cmd_run_collect(&cmd, out) == 0;
} }
#if MY_DEBUG
ROUTE_HANDLER(build_id) ROUTE_HANDLER(build_id)
{ {
cJSON *root = cJSON_CreateObject(); cJSON *root = cJSON_CreateObject();
@ -91,6 +94,7 @@ ROUTE_HANDLER(build_id)
make_application_json(result, 200, root); make_application_json(result, 200, root);
} }
#endif
ROUTE_HANDLER(page_not_found) ROUTE_HANDLER(page_not_found)
{ {
@ -113,10 +117,8 @@ ROUTE_HANDLER(page_not_found)
get_timer_string(timer, sizeof(timer)); get_timer_string(timer, sizeof(timer));
list_append(&env, fmt("-DRUNNING_SINCE=%s", timer)); list_append(&env, fmt("-DRUNNING_SINCE=%s", timer));
#if DEBUG #if MY_DEBUG
list_append(&env, "-DHOTRELOAD=1"); list_append(&env, "-DHOTRELOAD");
#else
list_append(&env, "-DHOTRELOAD=0");
#endif #endif
bool ok = gpp_run(path, &env, &out); bool ok = gpp_run(path, &env, &out);
@ -167,6 +169,7 @@ ROUTE_HANDLER(favicon)
make_image_xicon(result, 200, sb.items); make_image_xicon(result, 200, sb.items);
} }
#if MY_DEBUG
ROUTE_HANDLER(hotreload_js) ROUTE_HANDLER(hotreload_js)
{ {
char path[PATH_MAX] = {0}; char path[PATH_MAX] = {0};
@ -185,6 +188,7 @@ ROUTE_HANDLER(hotreload_js)
make_text(result, "javascript", 200, sb.items); make_text(result, "javascript", 200, sb.items);
} }
#endif
ROUTE_HANDLER(home) ROUTE_HANDLER(home)
{ {
@ -205,10 +209,8 @@ ROUTE_HANDLER(home)
get_timer_string(timer, sizeof(timer)); get_timer_string(timer, sizeof(timer));
list_append(&env, fmt("-DRUNNING_SINCE=%s", timer)); list_append(&env, fmt("-DRUNNING_SINCE=%s", timer));
#if DEBUG #if MY_DEBUG
list_append(&env, "-DHOTRELOAD=1"); list_append(&env, "-DHOTRELOAD");
#else
list_append(&env, "-DHOTRELOAD=0");
#endif #endif
bool ok = gpp_run(path, &env, &out); bool ok = gpp_run(path, &env, &out);
@ -242,10 +244,8 @@ ROUTE_HANDLER(generic_blog)
get_timer_string(timer, sizeof(timer)); get_timer_string(timer, sizeof(timer));
list_append(&env, fmt("-DRUNNING_SINCE=%s", timer)); list_append(&env, fmt("-DRUNNING_SINCE=%s", timer));
#if DEBUG #if MY_DEBUG
list_append(&env, "-DHOTRELOAD=1"); list_append(&env, "-DHOTRELOAD");
#else
list_append(&env, "-DHOTRELOAD=0");
#endif #endif
String_Builder md = {0}; String_Builder md = {0};
@ -333,10 +333,8 @@ ROUTE_HANDLER(blog)
get_timer_string(timer, sizeof(timer)); get_timer_string(timer, sizeof(timer));
list_append(&env, fmt("-DRUNNING_SINCE=%s", timer)); list_append(&env, fmt("-DRUNNING_SINCE=%s", timer));
#if DEBUG #if MY_DEBUG
list_append(&env, "-DHOTRELOAD=1"); list_append(&env, "-DHOTRELOAD");
#else
list_append(&env, "-DHOTRELOAD=0");
#endif #endif
bool ok = gpp_run(path, &env, &out); bool ok = gpp_run(path, &env, &out);

View File

@ -29,9 +29,11 @@ typedef struct {
ROUTE_HANDLER(page_not_found); ROUTE_HANDLER(page_not_found);
ROUTE_HANDLER(simple_css); ROUTE_HANDLER(simple_css);
ROUTE_HANDLER(favicon); ROUTE_HANDLER(favicon);
#if MY_DEBUG
ROUTE_HANDLER(hotreload_js); ROUTE_HANDLER(hotreload_js);
ROUTE_HANDLER(home);
ROUTE_HANDLER(build_id); ROUTE_HANDLER(build_id);
#endif
ROUTE_HANDLER(home);
ROUTE_HANDLER(generic_blog); ROUTE_HANDLER(generic_blog);
ROUTE_HANDLER(blog); ROUTE_HANDLER(blog);

View File

@ -22,7 +22,7 @@
</div> </div>
</footer> </footer>
<#if HOTRELOAD> <#ifdef HOTRELOAD>
<script src="/hotreload.js"></script> <script src="/hotreload.js"></script>
<#endif> <#endif>
</body> </body>

View File

@ -57,7 +57,7 @@
</div> </div>
</footer> </footer>
<#if HOTRELOAD> <#ifdef HOTRELOAD>
<script src="/hotreload.js"></script> <script src="/hotreload.js"></script>
<#endif> <#endif>
</body> </body>

View File

@ -17,7 +17,7 @@
</div> </div>
</footer> </footer>
<#if HOTRELOAD> <#ifdef HOTRELOAD>
<script src="/hotreload.js"></script> <script src="/hotreload.js"></script>
<#endif> <#endif>
</body> </body>

View File

@ -19,7 +19,7 @@
document.getElementById("content").innerHTML = marked.parse(`<#BLOG_POST_MARKDOWN>`); document.getElementById("content").innerHTML = marked.parse(`<#BLOG_POST_MARKDOWN>`);
</script> </script>
<#if HOTRELOAD> <#ifdef HOTRELOAD>
<script src="/hotreload.js"></script> <script src="/hotreload.js"></script>
<#endif> <#endif>
</body> </body>