in crlVerification/main.go [177:235]
func endpoint(resp http.ResponseWriter, req *http.Request) {
ret := NewReturn()
code := 200
defer func() {
resp.Header().Set("Content-Type", "application/json")
resp.WriteHeader(code)
encoder := json.NewEncoder(resp)
encoder.SetIndent("", " ")
if err := encoder.Encode(&ret); err != nil {
fmt.Println(err)
}
}()
body, err := ioutil.ReadAll(req.Body)
if err != nil {
code = 500
resp.WriteHeader(500)
ret = Return{
Result: FAIL,
Errors: []error{err},
}
return
}
_ = req.Body.Close()
i := NewInput()
err = json.Unmarshal(body, &i)
if err != nil {
code = 500
ret = Return{
Result: FAIL,
Errors: []error{err},
}
return
}
if len(i.errs) != 0 {
code = 400
ret = Return{
Result: FAIL,
Errors: i.errs,
}
return
}
if len(i.Crls) == 0 {
ret = NewReturn()
ret.Errors = append(ret.Errors, utils.CRLNotGiven{})
return
}
code = 200
allErrors := make([]error, 0)
for _, crl := range i.Crls {
result := Validate(i, crl)
if len(result.Errors) == 0 {
ret = result
return
}
allErrors = append(allErrors, result.Errors...)
}
ret = NewReturn()
ret.Errors = allErrors
}