From 88d054811df785b92b1b76dd91265849af8f29b3 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 12 Feb 2025 11:01:52 +0800 Subject: *: Migrate to the new path scheme --- url_misc.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'url_misc.go') diff --git a/url_misc.go b/url_misc.go index cbb30d6..e4bfd92 100644 --- a/url_misc.go +++ b/url_misc.go @@ -4,6 +4,9 @@ import ( "errors" "net/http" "net/url" + "strings" + + "go.lindenii.runxiyu.org/lindenii-common/misc" ) var ( @@ -40,3 +43,20 @@ func get_param_ref_and_type(r *http.Request) (ref_type, ref string, err error) { } return } + +func parse_request_uri(request_uri string) (segments []string, params url.Values, err error) { + path, params_string, _ := strings.Cut(request_uri, "?") + + segments = strings.Split(strings.TrimPrefix(path, "/"), "/") + + for i, segment := range segments { + segments[i], _ = url.QueryUnescape(segment) + } + + params, err = url.ParseQuery(params_string) + if err != nil { + return nil, nil, misc.Wrap_one_error(err_bad_request, err) + } + + return +} -- cgit v1.2.3