diff options
| author | Eltrac <hi@guhub.cn> | 2025-12-03 15:46:30 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-03 15:46:30 +0800 |
| commit | 264ab718015da27d97a7f7ac4132b1e061f9d8d9 (patch) | |
| tree | 9653faea7dd4e742c2d65fb7f758f3ebf9239a67 /parser.go | |
| parent | a206d80e51372dffcb86b6fcd2be3c8e24517c5c (diff) | |
| parent | f2103d4182acde938572c16753f8752c1f811fbf (diff) | |
Merge pull request #1 from BigCoke233/fix-empty-params
refactor, fix: use vanilla `request.URL.Query()` instead of a custom parser
Diffstat (limited to 'parser.go')
| -rw-r--r-- | parser.go | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/parser.go b/parser.go deleted file mode 100644 index 87b06d0..0000000 --- a/parser.go +++ /dev/null @@ -1,55 +0,0 @@ -package growel - -import ( - "fmt" - "strings" -) - -func ParsePath(path string) ([]string, map[string]string) { - var query_str string - path, query_str = extractQueryStr(path) - - parts := splitPath(path) - - if len(parts) == 0 { - return parts, map[string]string{} - } - - query := parseQueryStr(query_str) - - return parts, query -} - -func splitPath(path string) []string { - return strings.Split(strings.Trim(path, "/"), "/") -} - -func extractQueryStr(str string) (path string, querystr string) { - str_slice := strings.Split(str, "?") - leng := len(str_slice) - if leng > 2 { - fmt.Println("Error parsing path: multiple '?' found.") - // return anyway - } else if leng == 1 { - // no query string found - return str_slice[0], "" - } - return str_slice[0], str_slice[1] -} - -func parseQueryStr(str string) map[string]string { - query := make(map[string]string) - if str == "" { - return query - } - pairs := strings.Split(str, "&") - for _, pair := range pairs { - kv := strings.Split(pair, "=") - if len(kv) != 2 { - fmt.Println("Error parsing query string: invalid key-value pair.") - continue - } - query[kv[0]] = kv[1] - } - return query -} |
