Add useragent filter
This commit is contained in:
parent
789013ea6b
commit
25189b2cbc
10
database.go
10
database.go
|
@ -81,6 +81,7 @@ type ViewsRequest struct {
|
||||||
to string
|
to string
|
||||||
url string
|
url string
|
||||||
ref string
|
ref string
|
||||||
|
ua string
|
||||||
}
|
}
|
||||||
|
|
||||||
type RequestResultRow struct {
|
type RequestResultRow struct {
|
||||||
|
@ -161,6 +162,7 @@ func (request *ViewsRequest) buildFilter() (filters string, parameters []sql.Nam
|
||||||
request.buildDateTimeFilter(¶meters),
|
request.buildDateTimeFilter(¶meters),
|
||||||
request.buildUrlFilter(¶meters),
|
request.buildUrlFilter(¶meters),
|
||||||
request.buildRefFilter(¶meters),
|
request.buildRefFilter(¶meters),
|
||||||
|
request.buildUseragentFilter(¶meters),
|
||||||
} {
|
} {
|
||||||
if len(filter) > 0 {
|
if len(filter) > 0 {
|
||||||
allFilters = append(allFilters, filter)
|
allFilters = append(allFilters, filter)
|
||||||
|
@ -202,3 +204,11 @@ func (request *ViewsRequest) buildRefFilter(namedArg *[]sql.NamedArg) (refFilter
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (request *ViewsRequest) buildUseragentFilter(namedArg *[]sql.NamedArg) (refFilter string) {
|
||||||
|
if len(request.ua) > 0 {
|
||||||
|
*namedArg = append(*namedArg, sql.Named("ua", "%"+request.ua+"%"))
|
||||||
|
refFilter = "useragent like :ua"
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
1
main.go
1
main.go
|
@ -117,6 +117,7 @@ func requestStats(w http.ResponseWriter, r *http.Request) {
|
||||||
to: queries.Get("to"),
|
to: queries.Get("to"),
|
||||||
url: queries.Get("url"),
|
url: queries.Get("url"),
|
||||||
ref: queries.Get("ref"),
|
ref: queries.Get("ref"),
|
||||||
|
ua: queries.Get("ua"),
|
||||||
})
|
})
|
||||||
if e != nil {
|
if e != nil {
|
||||||
fmt.Println("Database request failed:", e)
|
fmt.Println("Database request failed:", e)
|
||||||
|
|
Reference in New Issue