41 lines
808 B
Go
41 lines
808 B
Go
package api
|
|
|
|
import (
|
|
"bufio"
|
|
"encoding/json"
|
|
"net/http"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
func FileDate(w http.ResponseWriter, r *http.Request) {
|
|
var MOUNT_POINT = os.Getenv("MOUNT_POINT")
|
|
filename := r.URL.Query().Get("file")
|
|
if filename == "" {
|
|
http.Error(w, `{"error":"Missing file parameter"}`, http.StatusBadRequest)
|
|
return
|
|
}
|
|
|
|
versionPath := filepath.Join(MOUNT_POINT, filename+".version")
|
|
|
|
dateStr := ""
|
|
f, err := os.Open(versionPath)
|
|
if err == nil {
|
|
defer f.Close()
|
|
scanner := bufio.NewScanner(f)
|
|
if scanner.Scan() {
|
|
dateStr = scanner.Text()
|
|
}
|
|
}
|
|
|
|
response := map[string]interface{}{
|
|
"status": "success",
|
|
"date": dateStr,
|
|
"filename": filename,
|
|
}
|
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
w.WriteHeader(http.StatusOK)
|
|
json.NewEncoder(w).Encode(response)
|
|
}
|