aboutsummaryrefslogtreecommitdiff
path: root/utils/meta/functions.go
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 16:15:34 +0530
committerBobby <[email protected]>2026-03-07 16:15:34 +0530
commit6dd57549df7b6679a1aa9888f4d59edaaec5b3f9 (patch)
tree05b37b22e659cfb5f8b97b12abf857f22df4f2be /utils/meta/functions.go
parent1f3a99dcc410f31ac247b55ae9880f6045ab46b4 (diff)
downloaddove-6dd57549df7b6679a1aa9888f4d59edaaec5b3f9.tar.xz
dove-6dd57549df7b6679a1aa9888f4d59edaaec5b3f9.zip
feat: implement request handling and dashboard features with new tags and utilities
Diffstat (limited to 'utils/meta/functions.go')
-rw-r--r--utils/meta/functions.go53
1 files changed, 53 insertions, 0 deletions
diff --git a/utils/meta/functions.go b/utils/meta/functions.go
new file mode 100644
index 0000000..0b8f309
--- /dev/null
+++ b/utils/meta/functions.go
@@ -0,0 +1,53 @@
+package meta
+
+import (
+ "dove/types"
+
+ "github.com/gofiber/fiber/v2"
+)
+
+func findParam(params []types.Param, key string) (string, bool) {
+ for _, param := range params {
+ if param.Key == key {
+ return param.Value, true
+ }
+ }
+
+ return "", false
+}
+
+func buildQueryParams(context *fiber.Ctx) []types.Param {
+ params := make([]types.Param, 0)
+ context.Request().URI().QueryArgs().VisitAll(func(name []byte, paramValue []byte) {
+ params = append(params, types.Param{
+ Key: string(name),
+ Value: string(paramValue),
+ })
+ })
+
+ return params
+}
+
+func buildRouteParams(context *fiber.Ctx) []types.Param {
+ params := make([]types.Param, 0)
+ for name, routeValue := range context.AllParams() {
+ params = append(params, types.Param{
+ Key: name,
+ Value: routeValue,
+ })
+ }
+
+ return params
+}
+
+func buildHeaders(context *fiber.Ctx) []types.Param {
+ params := make([]types.Param, 0)
+ context.Request().Header.VisitAll(func(name []byte, headerValue []byte) {
+ params = append(params, types.Param{
+ Key: string(name),
+ Value: string(headerValue),
+ })
+ })
+
+ return params
+}