aboutsummaryrefslogtreecommitdiff
path: root/utils/meta/builder.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/meta/builder.go')
-rw-r--r--utils/meta/builder.go46
1 files changed, 39 insertions, 7 deletions
diff --git a/utils/meta/builder.go b/utils/meta/builder.go
index 4ae2648..3e4de93 100644
--- a/utils/meta/builder.go
+++ b/utils/meta/builder.go
@@ -1,13 +1,9 @@
package meta
-import (
- "dove/types"
+import "github.com/gofiber/fiber/v2"
- "github.com/gofiber/fiber/v2"
-)
-
-func BuildRequest(context *fiber.Ctx) types.Request {
- return types.Request{
+func BuildRequest(context *fiber.Ctx) RequestInfo {
+ return RequestInfo{
Path: context.Path(),
Method: context.Method(),
Query: buildQueryParams(context),
@@ -18,3 +14,39 @@ func BuildRequest(context *fiber.Ctx) types.Request {
URL: context.OriginalURL(),
}
}
+
+func buildQueryParams(context *fiber.Ctx) []Param {
+ params := make([]Param, 0)
+ context.Request().URI().QueryArgs().VisitAll(func(name []byte, paramValue []byte) {
+ params = append(params, Param{
+ Key: string(name),
+ Value: string(paramValue),
+ })
+ })
+
+ return params
+}
+
+func buildRouteParams(context *fiber.Ctx) []Param {
+ params := make([]Param, 0)
+ for name, routeValue := range context.AllParams() {
+ params = append(params, Param{
+ Key: name,
+ Value: routeValue,
+ })
+ }
+
+ return params
+}
+
+func buildHeaders(context *fiber.Ctx) []Param {
+ params := make([]Param, 0)
+ context.Request().Header.VisitAll(func(name []byte, headerValue []byte) {
+ params = append(params, Param{
+ Key: string(name),
+ Value: string(headerValue),
+ })
+ })
+
+ return params
+}