feat: domain finished

This commit is contained in:
Elton Minetto
2020-06-25 11:46:45 -03:00
commit 3db4550ee0
47 changed files with 2646 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
package middleware
import (
"context"
"encoding/json"
"github.com/eminetto/clean-architecture-go/pkg/entity"
"net/http"
"github.com/codegangsta/negroni"
)
//Validate
func Validate(e entity.Validable) negroni.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request, next http.HandlerFunc) {
err := json.NewDecoder(r.Body).Decode(&e)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte(err.Error()))
return
}
err = e.Validate()
if err != nil {
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte(err.Error()))
return
}
ctx := context.WithValue(r.Context(), "InputParam", e)
next(w, r.WithContext(ctx))
}
}