diff options
author | Runxi Yu <me@runxiyu.org> | 2025-02-13 00:31:48 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-02-13 00:32:01 +0800 |
commit | d87f80d3e14990e5d9fc83990ff04e29affa3a94 (patch) | |
tree | 5df543f16b96388c1dc7c6456c24d8b0d66b9d5d /url_misc.go | |
parent | README.md: Add a bit of detail (diff) | |
download | forge-d87f80d3e14990e5d9fc83990ff04e29affa3a94.tar.gz forge-d87f80d3e14990e5d9fc83990ff04e29affa3a94.tar.zst forge-d87f80d3e14990e5d9fc83990ff04e29affa3a94.zip |
*.go: Mass rename files for clarity
Diffstat (limited to 'url_misc.go')
-rw-r--r-- | url_misc.go | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/url_misc.go b/url_misc.go deleted file mode 100644 index 86a3c6e..0000000 --- a/url_misc.go +++ /dev/null @@ -1,65 +0,0 @@ -package main - -import ( - "errors" - "net/http" - "net/url" - "strings" - - "go.lindenii.runxiyu.org/lindenii-common/misc" -) - -var ( - err_duplicate_ref_spec = errors.New("Duplicate ref spec") - err_no_ref_spec = errors.New("No ref spec") -) - -func get_param_ref_and_type(r *http.Request) (ref_type, ref string, err error) { - qr := r.URL.RawQuery - q, err := url.ParseQuery(qr) - if err != nil { - return - } - done := false - for _, _ref_type := range []string{"commit", "branch", "tag"} { - _ref, ok := q[_ref_type] - if ok { - if done { - err = err_duplicate_ref_spec - return - } else { - done = true - if len(_ref) != 1 { - err = err_duplicate_ref_spec - return - } - ref = _ref[0] - ref_type = _ref_type - } - } - } - if !done { - err = err_no_ref_spec - } - 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], err = url.PathUnescape(segment) - if err != nil { - return nil, nil, misc.Wrap_one_error(err_bad_request, err) - } - } - - params, err = url.ParseQuery(params_string) - if err != nil { - return nil, nil, misc.Wrap_one_error(err_bad_request, err) - } - - return -} |