getFilter returns a validated filter if present in the url query, nil otherwise.
(r *http.Request, s schema.Schema, extensions ...schema.Schema)
| 20 | |
| 21 | // getFilter returns a validated filter if present in the url query, nil otherwise. |
| 22 | func getFilter(r *http.Request, s schema.Schema, extensions ...schema.Schema) (filter.Expression, error) { |
| 23 | filter := strings.TrimSpace(r.URL.Query().Get("filter")) |
| 24 | if filter == "" { |
| 25 | return nil, nil // No filter present. |
| 26 | } |
| 27 | |
| 28 | validator, err := f.NewValidator(filter, s, extensions...) |
| 29 | if err != nil { |
| 30 | return nil, err |
| 31 | } |
| 32 | if err := validator.Validate(); err != nil { |
| 33 | return nil, err |
| 34 | } |
| 35 | return validator.GetFilter(), nil |
| 36 | } |
| 37 | |
| 38 | func getIntQueryParam(r *http.Request, key string, def int) (int, error) { |
| 39 | strVal := r.URL.Query().Get(key) |
no test coverage detected
searching dependent graphs…