diff --git a/gno.land/pkg/gnoweb/gnoweb.go b/gno.land/pkg/gnoweb/gnoweb.go index 5377ae6a420..7ecbbae717a 100644 --- a/gno.land/pkg/gnoweb/gnoweb.go +++ b/gno.land/pkg/gnoweb/gnoweb.go @@ -300,6 +300,10 @@ func handleRealmRender(logger *slog.Logger, app gotuna.App, cfg *Config, w http. http.Redirect(w, r, "/r/"+rlmname, http.StatusFound) return } + if len(r.URL.RawQuery) > 0 { + q := filterQueryValues(r.URL.Query()) + querystr = querystr + "?" + q.Encode() + } qpath := "vm/qrender" data := []byte(fmt.Sprintf("%s:%s", rlmpath, querystr)) res, err := makeRequest(logger, cfg, qpath, data) @@ -507,3 +511,16 @@ func pathOf(diruri string) string { panic(fmt.Sprintf("invalid dir-URI %q", diruri)) } + +func filterQueryValues(values url.Values) url.Values { + filtered := url.Values{} + for k, v := range values { + // Filter out private gnoweb arguments + if strings.HasPrefix(k, "__") { + continue + } + + filtered[k] = v + } + return filtered +}