4
4
package context
5
5
6
6
import (
7
- "net/url"
8
7
"strings"
9
8
"time"
10
9
)
11
10
12
11
// GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
13
12
func GetQueryBeforeSince (ctx * Base ) (before , since int64 , err error ) {
14
- qCreatedBefore , err := prepareQueryArg (ctx , "before" )
13
+ before , err = parseFormTime (ctx , "before" )
15
14
if err != nil {
16
15
return 0 , 0 , err
17
16
}
18
17
19
- qCreatedSince , err := prepareQueryArg (ctx , "since" )
20
- if err != nil {
21
- return 0 , 0 , err
22
- }
23
-
24
- before , err = parseTime (qCreatedBefore )
25
- if err != nil {
26
- return 0 , 0 , err
27
- }
28
-
29
- since , err = parseTime (qCreatedSince )
18
+ since , err = parseFormTime (ctx , "since" )
30
19
if err != nil {
31
20
return 0 , 0 , err
32
21
}
33
22
return before , since , nil
34
23
}
35
24
36
25
// parseTime parse time and return unix timestamp
37
- func parseTime (value string ) (int64 , error ) {
26
+ func parseFormTime (ctx * Base , name string ) (int64 , error ) {
27
+ value := strings .TrimSpace (ctx .FormString (name ))
38
28
if len (value ) != 0 {
39
29
t , err := time .Parse (time .RFC3339 , value )
40
30
if err != nil {
@@ -46,10 +36,3 @@ func parseTime(value string) (int64, error) {
46
36
}
47
37
return 0 , nil
48
38
}
49
-
50
- // prepareQueryArg unescape and trim a query arg
51
- func prepareQueryArg (ctx * Base , name string ) (value string , err error ) {
52
- value , err = url .PathUnescape (ctx .FormString (name ))
53
- value = strings .TrimSpace (value )
54
- return value , err
55
- }
0 commit comments