validate for broken json input

This commit is contained in:
stremovsky
2019-12-15 22:36:11 +02:00
parent 6cd13430e3
commit 49ac5c8797
4 changed files with 9 additions and 6 deletions

View File

@@ -31,7 +31,7 @@ func (e mainEnv) userappNew(w http.ResponseWriter, r *http.Request, ps httproute
data, err := getJSONPostData(r)
if err != nil {
returnError(w, r, "internal error", 405, err, event)
returnError(w, r, "failed to decode request body", 405, err, event)
return
}
jsonData, err := json.Marshal(data)
@@ -67,7 +67,7 @@ func (e mainEnv) userappChange(w http.ResponseWriter, r *http.Request, ps httpro
data, err := getJSONPostData(r)
if err != nil {
returnError(w, r, "internal error", 405, err, event)
returnError(w, r, "failed to decode request body", 405, err, event)
return
}
jsonData, err := json.Marshal(data)

View File

@@ -20,7 +20,7 @@ func (e mainEnv) userNew(w http.ResponseWriter, r *http.Request, ps httprouter.P
}
parsedData, err := getJSONPost(r, e.conf.Sms.Default_country)
if err != nil {
returnError(w, r, "internal error", 405, err, event)
returnError(w, r, "failed to decode request body", 405, err, event)
return
}
// make sure that login, email and phone are unique
@@ -125,7 +125,7 @@ func (e mainEnv) userChange(w http.ResponseWriter, r *http.Request, ps httproute
}
parsedData, err := getJSONPost(r, e.conf.Sms.Default_country)
if err != nil {
returnError(w, r, "internal error", 405, err, event)
returnError(w, r, "failed to decode request body", 405, err, event)
return
}
userTOKEN := address

View File

@@ -272,8 +272,11 @@ func getJSONPostData(r *http.Request) (map[string]interface{}, error) {
}
func getJSONPost(r *http.Request, default_country string) (userJSON, error) {
records, err := getJSONPostData(r)
var result userJSON
records, err := getJSONPostData(r)
if err != nil {
return result, err
}
if value, ok := records["login"]; ok {
if reflect.TypeOf(value) == reflect.TypeOf("string") {

View File

@@ -24,7 +24,7 @@ func (e mainEnv) userNewToken(w http.ResponseWriter, r *http.Request, ps httprou
}
records, err := getJSONPostData(r)
if err != nil {
returnError(w, r, "internal error", 405, err, event)
returnError(w, r, "failed to decode request body", 405, err, event)
return
}
fields := ""