improve first answer validation

main
Nikita Tokarchuk 4 years ago
parent 6b6ad3c390
commit f92a529502
  1. 11
      task1-backend/lib/api.go

@ -8,6 +8,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"net/http" "net/http"
"regexp"
"strings" "strings"
"time" "time"
@ -35,8 +36,8 @@ type Api struct {
} }
type Answer struct { type Answer struct {
Answer json.RawMessage `json:"answer"` Answer string `json:"answer"`
Name string `json:"name"` Name string `json:"name"`
} }
func (a *Api) GetHandler() fasthttp.RequestHandler { func (a *Api) GetHandler() fasthttp.RequestHandler {
@ -85,8 +86,12 @@ func (a *Api) checkAnswer(ctx *routing.Context) (err error) {
return routing.NewHTTPError(http.StatusBadRequest, err.Error()) return routing.NewHTTPError(http.StatusBadRequest, err.Error())
} }
cleaner := regexp.MustCompile("[[:^alnum:]]")
pure := cleaner.ReplaceAllLiteralString(answer.Answer, "")
pure = strings.ToLower(pure)
hash := sha256.New() hash := sha256.New()
hash.Write(answer.Answer) hash.Write([]byte(pure))
hexed := make([]byte, hex.EncodedLen(sha256.Size)) hexed := make([]byte, hex.EncodedLen(sha256.Size))

Loading…
Cancel
Save