diff options
Diffstat (limited to 'server/core/request.go')
-rw-r--r-- | server/core/request.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/server/core/request.go b/server/core/request.go index 4a2acc3..540b2ac 100644 --- a/server/core/request.go +++ b/server/core/request.go @@ -51,6 +51,18 @@ func (r *Request) Cookie(name string) string { return cookie.Value } +// FormValue returns a form value as integer. +func (r *Request) FormValue(param string) string { + return r.request.FormValue(param) +} + +// FormIntegerValue returns a form value as integer. +func (r *Request) FormIntegerValue(param string) int64 { + value := r.request.FormValue(param) + integer, _ := strconv.Atoi(value) + return int64(integer) +} + // IntegerParam returns an URL parameter as integer. func (r *Request) IntegerParam(param string) (int64, error) { vars := mux.Vars(r.request) @@ -105,6 +117,13 @@ func (r *Request) QueryIntegerParam(param string, defaultValue int) int { return val } +// HasQueryParam checks if the query string contains the given parameter. +func (r *Request) HasQueryParam(param string) bool { + values := r.request.URL.Query() + _, ok := values[param] + return ok +} + // NewRequest returns a new Request struct. func NewRequest(w http.ResponseWriter, r *http.Request) *Request { return &Request{writer: w, request: r} |