Compare commits

..

No commits in common. "7ac8e91cc2d4523fe286025258ea38e1d94360a3" and "808482b37083470dbdeeb93eb7690ad622d34b85" have entirely different histories.

4 changed files with 14 additions and 8 deletions

View file

@ -26,8 +26,10 @@ func Root(resp *types.SpaceAPIResponseV14) func(http.ResponseWriter, *http.Reque
return
}
// Respond with OK
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
_, _ = w.Write(response)
}
}

View file

@ -17,12 +17,12 @@ func EnvironmentSensor(
resp *types.EnvironmentSensor,
) func(http.ResponseWriter, *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
body := string(updateEndpointValidator(authDB, validCredentials, w, r))
body := updateEndpointValidator(authDB, validCredentials, w, r)
// Parse request body
newState, err := strconv.ParseFloat(body, 64)
newState, err := strconv.ParseFloat(string(body), 64)
if err != nil || math.IsInf(newState, 0) {
log.Println("Failed to parse request body from", r.RemoteAddr, "body:", body)
log.Println("Failed to parse request body from", r.RemoteAddr)
w.WriteHeader(http.StatusBadRequest)
_, _ = io.WriteString(w, "HTTP request body has to be a valid float64 value != +/-Inf")
return
@ -32,6 +32,8 @@ func EnvironmentSensor(
resp.Value = newState
resp.LastChange = time.Now().Unix()
// Respond with OK
w.WriteHeader(http.StatusOK)
_, _ = io.WriteString(w, "Update Successful")
}
}

View file

@ -16,12 +16,12 @@ func StateOpen(
resp *types.SpaceState,
) func(http.ResponseWriter, *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
body := string(updateEndpointValidator(authDB, validCredentials, w, r))
body := updateEndpointValidator(authDB, validCredentials, w, r)
// Parse request body
newState, err := strconv.ParseBool(body)
newState, err := strconv.ParseBool(string(body))
if err != nil {
log.Println("Failed to parse request body from", r.RemoteAddr, "body:", body)
log.Println("Failed to parse request body from", r.RemoteAddr)
w.WriteHeader(http.StatusBadRequest)
_, _ = io.WriteString(w, "HTTP request body should either be true or false")
return
@ -31,6 +31,8 @@ func StateOpen(
resp.Open = newState
resp.LastChange = time.Now().Unix()
// Respond with OK
w.WriteHeader(http.StatusOK)
_, _ = io.WriteString(w, "Update Successful")
}
}

View file

@ -18,7 +18,7 @@ func updateEndpointValidator(
// Check BasicAuth credentials
username, password, ok := r.BasicAuth()
if !ok || !util.CheckCredentials(authDB, validCredentials, username, password) {
log.Println("Unauthorized request from", r.RemoteAddr, "Username:", username, "Password:", password)
log.Println("Unauthorized request from", r.RemoteAddr)
w.Header().Set("WWW-Authenticate", "Basic realm=\"space-api\"")
w.WriteHeader(http.StatusUnauthorized)
return
@ -41,5 +41,5 @@ func updateEndpointValidator(
return
}
return body
return
}