aboutsummaryrefslogtreecommitdiff
path: root/lib/path
AgeCommit message (Collapse)Author
2026-02-13lib/path: remove reference to old repository "share"Shulhan
2026-01-15all: convert license and copyright to use SPDX identifiersShulhan
With help of spdxconv tool [1], we able to bulk update all files license and copyright format to comply with SPDX formats. [1] https://kilabit.info/project/spdxconv/
2024-06-08lib/path: add method Path to RouteShulhan
Unlike String method that may return the key's name in returned path, the Path method return the path with all the keys has been substituted with values, even if its empty.
2024-03-02all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"Shulhan
There are several reasons that why we move from github.com. First, related to the name of package. We accidentally name the package with "share" a common word in English that does not reflect the content of repository. By moving to other repository, we can rename it to better and unique name, in this "pakakeh.go". Pakakeh is Minang word for tools, and ".go" suffix indicate that the repository related to Go programming language. Second, supporting open source. The new repository is hosted under sourcehut.org, the founder is known to support open source, and all their services are licensed under AGPL, unlike GitHub that are closed sources. Third, regarding GitHub CoPilot. The GitHub Terms of Service [1], allow any public content that are hosted there granted them to parse the content. On one side, GitHub helps and flourish the open source, but on another side have an issues regarding scraping the copyleft license [2]. [1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us [2]: https://githubcopilotinvestigation.com
2024-01-25lib/path: add method Keys and NKey, and export IsKeyExistsShulhan
The Keys method return list of key in path. The NKey method return the number of key in path. The IsKeyExists return true if the key exist in Route; otherwise it will return false.
2024-01-25lib/path: add example for [Route.Parse]Shulhan
2024-01-25lib/path: add method Set to RouteShulhan
The Set method set or replace the key's value in path with parameter val. If the key exist it will return true; otherwise it will return false. This changes remove unnecessary field key in routeNode and optimize the String method using [strings.Builder].
2024-01-25lib/path: new package to work with pathShulhan
The path package provide a new type Route, detached from "lib/http". A Route represent a parsed path. A path can have a key, or binding, that can be replaced with string value. For example, "/org/:user/:repo" have two keys "user" and "repo". Route handle the path in case-insensitive manner.