aboutsummaryrefslogtreecommitdiff
path: root/utils/meta/request.go
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 17:59:31 +0530
committerBobby <[email protected]>2026-03-07 17:59:31 +0530
commita6ec9a807df68978bf3b85314a4c54c60ecc2b7a (patch)
tree6201e8d594a3c368cce50ebc402f248814e2025f /utils/meta/request.go
parent57df54999e778887e66775481dab46191b46d0b6 (diff)
downloaddove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.tar.xz
dove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.zip
feat: implement SMTP server with authentication, port validation, and email storage
Diffstat (limited to 'utils/meta/request.go')
-rw-r--r--utils/meta/request.go40
1 files changed, 30 insertions, 10 deletions
diff --git a/utils/meta/request.go b/utils/meta/request.go
index 3098970..34a659a 100644
--- a/utils/meta/request.go
+++ b/utils/meta/request.go
@@ -8,36 +8,56 @@ import (
"github.com/gofiber/fiber/v2"
)
-func Request(context *fiber.Ctx) request {
+func Request(context *fiber.Ctx) *request {
data, ok := context.Locals(REQUEST_KEY).(types.Request)
if !ok {
logger.Errorf(LOG_PREFIX, messages.MetaRequestContextMissing)
- return request{}
+ return nil
}
- return request{
+ return &request{
Request: data,
context: context,
}
}
-func (self request) Param(key string) value {
+func (self *request) Param(key string) *value {
+ if self == nil {
+ return nil
+ }
+
if self.context != nil {
result := self.context.Params(key)
if result != "" {
- return value{data: result, found: true}
+ return &value{data: result}
}
}
- return value{}
+ return nil
}
-func (self request) Query(key string) value {
+func (self *request) Query(key string) *value {
+ if self == nil {
+ return nil
+ }
+
result, found := findParam(self.Request.Query, key)
- return value{data: result, found: found}
+ if found {
+ return &value{data: result}
+ }
+
+ return nil
}
-func (self request) Header(key string) value {
+func (self *request) Header(key string) *value {
+ if self == nil {
+ return nil
+ }
+
result, found := findParam(self.Request.Headers, key)
- return value{data: result, found: found}
+ if found {
+ return &value{data: result}
+ }
+
+ return nil
}