diff options
author | Runxi Yu <me@runxiyu.org> | 2025-03-09 16:25:28 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-03-09 16:26:46 +0800 |
commit | 2a057bac1efb7c6175331ee4fd72a15c0df01422 (patch) | |
tree | bd16cd1994791b136aaf615999eeddb5d39f45c0 | |
parent | *: Downgrade go-git from main to v5.14.0 (diff) | |
download | forge-2a057bac1efb7c6175331ee4fd72a15c0df01422.tar.gz forge-2a057bac1efb7c6175331ee4fd72a15c0df01422.tar.zst forge-2a057bac1efb7c6175331ee4fd72a15c0df01422.zip |
gc: Add a garbage collection button
-rw-r--r-- | http_handle_gc.go | 14 | ||||
-rw-r--r-- | http_server.go | 3 | ||||
-rw-r--r-- | templates/index.tmpl | 3 |
3 files changed, 20 insertions, 0 deletions
diff --git a/http_handle_gc.go b/http_handle_gc.go new file mode 100644 index 0000000..3f7717c --- /dev/null +++ b/http_handle_gc.go @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: AGPL-3.0-only +// SPDX-FileContributor: Runxi Yu <https://runxiyu.org> + +package main + +import ( + "net/http" + "runtime" +) + +func handle_gc(w http.ResponseWriter, r *http.Request, params map[string]any) { + runtime.GC() + http.Redirect(w, r, "/", http.StatusSeeOther) +} diff --git a/http_server.go b/http_server.go index 1b9bef6..f2238d8 100644 --- a/http_server.go +++ b/http_server.go @@ -78,6 +78,9 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) { case "users": handle_users(w, r, params) return + case "gc": + handle_gc(w, r, params) + return default: http.Error(w, fmt.Sprintf("Unknown system module type: %s", segments[1]), http.StatusNotFound) return diff --git a/templates/index.tmpl b/templates/index.tmpl index 3bef7b0..2aa5729 100644 --- a/templates/index.tmpl +++ b/templates/index.tmpl @@ -56,6 +56,9 @@ </tbody> </table> </div> + <div class="padding-wrapper"> + <a href="/:/gc" class="btn btn-danger">Run the garbage collector</a> + </div> <footer> {{- template "footer" . -}} </footer> |