aboutsummaryrefslogtreecommitdiff
path: root/server/core
diff options
context:
space:
mode:
Diffstat (limited to 'server/core')
-rw-r--r--server/core/json_response.go5
-rw-r--r--server/core/request.go19
-rw-r--r--server/core/response.go2
3 files changed, 25 insertions, 1 deletions
diff --git a/server/core/json_response.go b/server/core/json_response.go
index 3e0b0e8f..ed29d6ab 100644
--- a/server/core/json_response.go
+++ b/server/core/json_response.go
@@ -103,3 +103,8 @@ func (j *JSONResponse) toJSON(v interface{}) []byte {
return b
}
+
+// NewJSONResponse returns a new JSONResponse.
+func NewJSONResponse(w http.ResponseWriter, r *http.Request) *JSONResponse {
+ return &JSONResponse{request: r, writer: w}
+}
diff --git a/server/core/request.go b/server/core/request.go
index 4a2acc3b..540b2ac1 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}
diff --git a/server/core/response.go b/server/core/response.go
index 4aef8af0..fc15e420 100644
--- a/server/core/response.go
+++ b/server/core/response.go
@@ -26,7 +26,7 @@ func (r *Response) SetCookie(cookie *http.Cookie) {
// JSON returns a JSONResponse.
func (r *Response) JSON() *JSONResponse {
r.commonHeaders()
- return &JSONResponse{writer: r.writer, request: r.request}
+ return NewJSONResponse(r.writer, r.request)
}
// HTML returns a HTMLResponse.