123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package authlogger
- import (
- "encoding/json"
- "net/http"
- "regexp"
- )
- //Handle of listing of the logger index (months)
- func (l *Logger) HandleIndexListing(w http.ResponseWriter, r *http.Request) {
- indexes := l.ListSummary()
- js, err := json.Marshal(indexes)
- if err != nil {
- sendErrorResponse(w, err.Error())
- return
- }
- sendJSONResponse(w, string(js))
- }
- //Handle of the listing of a given index (month)
- func (l *Logger) HandleTableListing(w http.ResponseWriter, r *http.Request) {
- //Get the record name request for listing
- month, err := mv(r, "record", true)
- if err != nil {
- sendErrorResponse(w, err.Error())
- return
- }
- records, err := l.ListRecords(month)
- if err != nil {
- sendErrorResponse(w, err.Error())
- return
- }
- //Filter the records before sending it to web UI
- results := []LoginRecord{}
- for _, record := range records {
- //Replace the username with a regex filtered one
- reg, _ := regexp.Compile("[^a-zA-Z0-9]+")
- filteredUsername := reg.ReplaceAllString(record.TargetUsername, "░")
- record.TargetUsername = filteredUsername
- results = append(results, record)
- }
- js, _ := json.Marshal(results)
- sendJSONResponse(w, string(js))
- }
|