aboutsummaryrefslogtreecommitdiff
path: root/url_misc.go
diff options
context:
space:
mode:
Diffstat (limited to 'url_misc.go')
-rw-r--r--url_misc.go65
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
-}