diff options
-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> |