5
0
Fork 0

Input validation

master
Daniel Lim 2019-07-04 05:25:45 +08:00
parent a79fb707d7
commit 9824c6a945
1 changed files with 13 additions and 0 deletions

13
main.go
View File

@ -84,6 +84,11 @@ func AuthMiddleware(next httprouter.Handle) httprouter.Handle {
return
}
if client.UserId == "" || client.ClientId == "" {
http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
return
}
context := context.WithValue(r.Context(), "user", client.UserId)
next(w, r.WithContext(context), p)
}
@ -93,6 +98,10 @@ func PermissionMiddleware(next httprouter.Handle) httprouter.Handle {
return func (w http.ResponseWriter, r *http.Request, p httprouter.Params) {
userID := r.Context().Value("user").(string)
conversationID := p.ByName("key")
if conversationID == "" {
http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
return
}
response, err := http.Get(permissionsHost + "/user/" + userID + "/conversation/" + conversationID)
if err != nil {
@ -179,6 +188,10 @@ type BitesList struct {
func ScanStore(w http.ResponseWriter, r *http.Request, p httprouter.Params) {
// Get params
storeType := p.ByName("type")
if storeType == "" {
http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
return
}
key := p.ByName("key")
// Get querystring values