func ReportDnsRequestRrnames(appContext AppContext, r *http.Request) interface{} { options := core.ReportOptions{} if r.Method == http.MethodPost { var requestBody struct { TimeRange string `json:"timeRange"` Size int64 `json:"size"` QueryString string `json:"queryString"` } DecodeRequestBody(r, &requestBody) options.TimeRange = requestBody.TimeRange options.Size = requestBody.Size options.QueryString = requestBody.QueryString } else { options.TimeRange = r.FormValue("timeRange") options.Size, _ = strconv.ParseInt(r.FormValue("size"), 10, 64) options.QueryString = r.FormValue("queryString") } data, err := appContext.ReportService.ReportDnsRequestRrnames(options) if err != nil { return err } return map[string]interface{}{ "data": data, } }