|
@@ -2,13 +2,38 @@ package authlogger
|
|
|
|
|
|
import (
|
|
import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
|
+ "log"
|
|
"net/http"
|
|
"net/http"
|
|
"regexp"
|
|
"regexp"
|
|
|
|
+ "sort"
|
|
|
|
+ "time"
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+type summaryDate []string
|
|
|
|
+
|
|
|
|
+func (s summaryDate) Len() int {
|
|
|
|
+ return len(s)
|
|
|
|
+}
|
|
|
|
+func (s summaryDate) Swap(i, j int) {
|
|
|
|
+ s[i], s[j] = s[j], s[i]
|
|
|
|
+}
|
|
|
|
+func (s summaryDate) Less(i, j int) bool {
|
|
|
|
+ layout := "Jan-2006"
|
|
|
|
+ timei, err := time.Parse(layout, s[i])
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println(err)
|
|
|
|
+ }
|
|
|
|
+ timej, err := time.Parse(layout, s[j])
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println(err)
|
|
|
|
+ }
|
|
|
|
+ return timei.Unix() < timej.Unix()
|
|
|
|
+}
|
|
|
|
+
|
|
//Handle of listing of the logger index (months)
|
|
//Handle of listing of the logger index (months)
|
|
func (l *Logger) HandleIndexListing(w http.ResponseWriter, r *http.Request) {
|
|
func (l *Logger) HandleIndexListing(w http.ResponseWriter, r *http.Request) {
|
|
indexes := l.ListSummary()
|
|
indexes := l.ListSummary()
|
|
|
|
+ sort.Sort(summaryDate(indexes))
|
|
js, err := json.Marshal(indexes)
|
|
js, err := json.Marshal(indexes)
|
|
if err != nil {
|
|
if err != nil {
|
|
sendErrorResponse(w, err.Error())
|
|
sendErrorResponse(w, err.Error())
|