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_
#define CONFIG_H_
#if DEBUG
#if MY_DEBUG
# define CONFIG_LISTEN_URL "http://localhost:8080"
#else
# 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(favicon_ico, "./etc/favicon.ico");
#if MY_DEBUG
INCBIN(hotreload_js, "./etc/hotreload.js");
#endif
INCBIN(blog_welcome_md, "./blog/welcome.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("simple.css", simple_css_data, simple_css_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);
#endif
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-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(favicon_ico);
#if MY_DEBUG
INCBIN_EXTERN(hotreload_js);
#endif
INCBIN_EXTERN(blog_welcome_md);
INCBIN_EXTERN(blog_weird_page_md);

11
build.c
View File

@ -4,7 +4,7 @@
char *prog = NULL;
#define DEBUG 1
#define MY_DEBUG 0
int main(int argc, char ** argv)
{
@ -42,7 +42,7 @@ int main(int argc, char ** argv)
) {
RULE("./mongoose.o", "./mongoose/mongoose.c") {
#if DEBUG
#if MY_DEBUG
CMD("cc", "-ggdb", "-c", "-fPIC", "-Wl,-z,execstack", "-D_GNU_SOURCE",
"-o", "./mongoose.o", "./mongoose/mongoose.c");
#else
@ -83,17 +83,16 @@ int main(int argc, char ** argv)
}
}
#if DEBUG
CMD("cc", "-fPIC", "-ggdb", "-I.", "-DDEBUG=1", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
#if MY_DEBUG
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",
"./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c",
"./md5-c/md5.c",
"-lpthread");
#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",
"./main.c", "./routes.c", "./baked.c", "./timer.c", "./mongoose.o", "./cJSON/cJSON.c",
"./md5-c/md5.c",
"-lpthread");
#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)
{
shdefault(route_hashtable, &route_page_not_found);
shput(route_hashtable, "/", &route_home);
shput(route_hashtable, "/page-missing", &route_page_not_found);
shput(route_hashtable, "/simple.css", &route_simple_css);
shput(route_hashtable, "/favicon.ico", &route_favicon);
#if MY_DEBUG
shput(route_hashtable, "/hotreload.js", &route_hotreload_js);
shput(route_hashtable, "/", &route_home);
shput(route_hashtable, "/build-id", &route_build_id);
#endif
shput(route_hashtable, "/blog", &route_blog);
void put_blogs(Baked_Resource *resource)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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