1
0
Fork 0
forked from fun/fun

Added basic script execution to the HTTP server class in stdlib. (0.37.29)

This commit is contained in:
Johannes Findeisen 2025-12-28 22:11:19 +01:00
commit 17c2b44c1a
3 changed files with 32 additions and 2 deletions

View file

@ -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)

View file

@ -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 <you@hanez.org>
* 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("<html><body>")
print("<h1>Fun Environment Information</h1>")
print("<p><strong>Current Path:</strong> " + env("PATH") + "</p>")
print("<p><strong>Current User:</strong> " + env("USER") + "</p>")
print("<p><strong>Time:</strong> " + date_format(time_now_ms(), "%Y-%m-%d %H:%M:%S") + "</p>")
print("<p><strong>Version:</strong> " + to_string(content) + "</p>")
print("</body></html>")

View file

@ -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)