Added basic script execution to the HTTP server class in stdlib. (0.37.29)
This commit is contained in:
parent
10b75596cd
commit
17c2b44c1a
3 changed files with 32 additions and 2 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
cmake_minimum_required(VERSION 3.10)
|
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 99)
|
||||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||||
|
|
|
||||||
23
examples/data/htdocs/info.fun
Normal file
23
examples/data/htdocs/info.fun
Normal 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>")
|
||||||
|
|
@ -58,7 +58,14 @@ class HTTPServer(number port)
|
||||||
path = "/index.html"
|
path = "/index.html"
|
||||||
|
|
||||||
full_path = this.htdocs + path
|
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)
|
if (len(content) > 0)
|
||||||
this.send_response(fd, 200, "OK", content)
|
this.send_response(fd, 200, "OK", content)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue