|
- // This package parse a http request from datatables (jQuery plugin) to a friendly structure
- // More details in https://github.com/saulortega/datatables
- // import "github.com/saulortega/datatables"
-
- package datatables
-
- import (
- "errors"
- "net/http"
- "strconv"
- "strings"
- )
-
- //Parameter to string
- func ptos(r *http.Request, p string) (string, error) {
- var s = strings.TrimSpace(r.FormValue(p))
- var e error
-
- if _, exte := r.Form[p]; !exte {
- e = errors.New("«" + p + "» parameter not received")
- }
-
- return s, e
- }
-
- //Parameter to string; error on empty
- func ptosNoEmpty(r *http.Request, p string) (string, error) {
- s, e := ptos(r, p)
- if s == "" && e == nil {
- e = errors.New("«" + p + "» parameter empty")
- }
-
- return s, e
- }
-
- //Parameter to int
- func ptoi(r *http.Request, p string) (int, error) {
- var i int
- s, e := ptosNoEmpty(r, p)
- if e != nil {
- return i, e
- }
-
- i, e = strconv.Atoi(s)
-
- return i, e
- }
-
- //Parameter to bool
- func ptob(r *http.Request, p string) (bool, error) {
- var b bool
- s, e := ptosNoEmpty(r, p)
- if e != nil {
- return b, e
- }
-
- b, e = strconv.ParseBool(s)
-
- return b, e
- }
|