diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d11c81..6e8bd14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(fun VERSION 0.37.28 LANGUAGES C) +project(fun VERSION 0.37.29 LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) diff --git a/examples/data/htdocs/info.fun b/examples/data/htdocs/info.fun new file mode 100644 index 0000000..1e48bae --- /dev/null +++ b/examples/data/htdocs/info.fun @@ -0,0 +1,23 @@ +#!/usr/bin/env fun + +/* + * This file is part of the Fun programming language. + * https://fun-lang.xyz/ + * + * Copyright 2025 Johannes Findeisen + * Licensed under the terms of the Apache-2.0 license. + * https://opensource.org/license/apache-2-0 + * + * Added: 2025-12-28 + */ + +result = proc_run("fun -V") +content = result["out"] + +print("") +print("

Fun Environment Information

") +print("

Current Path: " + env("PATH") + "

") +print("

Current User: " + env("USER") + "

") +print("

Time: " + date_format(time_now_ms(), "%Y-%m-%d %H:%M:%S") + "

") +print("

Version: " + to_string(content) + "

") +print("") diff --git a/lib/net/http_server.fun b/lib/net/http_server.fun index cfc49ef..cf430d2 100644 --- a/lib/net/http_server.fun +++ b/lib/net/http_server.fun @@ -58,7 +58,14 @@ class HTTPServer(number port) path = "/index.html" full_path = this.htdocs + path - content = read_file(full_path) + + content = "" + if (str_ends_with(path, ".fun")) + res = proc_run("fun " + full_path) + content = res["out"] + //#include <\"full_path\"> + else + content = read_file(full_path) if (len(content) > 0) this.send_response(fd, 200, "OK", content)