this is tuto1

This commit is contained in:
nemunaire 2019-03-04 09:00:22 +01:00
commit 9262917553
19 changed files with 928 additions and 68 deletions

View file

@ -29,9 +29,9 @@ func remoteValidatorHandler(f func(http.ResponseWriter, *http.Request, httproute
previousMAC := hmac.New(sha512.New, []byte(sharedSecret)).Sum([]byte(fmt.Sprintf("%d", time.Now().Unix()/10-1)))
if aauth, err := base64.StdEncoding.DecodeString(r.Header.Get("X-ADLIN-Authentication")); err != nil {
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}", err), http.StatusUnauthorized)
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}\n", err), http.StatusUnauthorized)
} else if !hmac.Equal(expectedMAC, aauth) && !hmac.Equal(previousMAC, aauth) {
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}", "Bad authentication header"), http.StatusUnauthorized)
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}\n", "Bad authentication header"), http.StatusUnauthorized)
} else {
f(w, r, ps)
}
@ -95,14 +95,16 @@ func rawHandler(f func(*http.Request, httprouter.Params, []byte) (interface{}, e
if str, found := ret.(string); found {
w.WriteHeader(resStatus)
io.WriteString(w, str)
w.Write([]byte("\n"))
} else if bts, found := ret.([]byte); found {
w.WriteHeader(resStatus)
w.Write(bts)
} else if j, err := json.Marshal(ret); err != nil {
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}", err), http.StatusInternalServerError)
http.Error(w, fmt.Sprintf("{\"errmsg\":%q}\n", err), http.StatusInternalServerError)
} else {
w.WriteHeader(resStatus)
w.Write(j)
w.Write([]byte("\n"))
}
}
}