Skip to content

Commit b17bbe2

Browse files
author
Ravi Atluri
committed
Add unit tests
1 parent 5a8771d commit b17bbe2

File tree

3 files changed

+551
-10
lines changed

3 files changed

+551
-10
lines changed

xapi/endpoint.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ func (e *Endpoint[TReq, TRes]) Handler() http.Handler {
7878
defer r.Body.Close()
7979
}
8080

81+
if extracter, ok := any(&req).(Extracter); ok {
82+
if err := extracter.Extract(r); err != nil {
83+
e.opts.errorHandler.HandleError(w, err)
84+
return
85+
}
86+
}
87+
8188
if validator, ok := any(&req).(Validator); ok {
8289
if err := validator.Validate(); err != nil {
8390
e.opts.errorHandler.HandleError(w, err)
@@ -106,13 +113,15 @@ func (e *Endpoint[TReq, TRes]) Handler() http.Handler {
106113
statusCode = statusSetter.StatusCode()
107114
}
108115

109-
w.Header().Set("Content-Type", "application/json; charset=utf-8")
110-
w.WriteHeader(statusCode)
111-
112-
if err := json.NewEncoder(w).Encode(res); err != nil {
116+
resBody, err := json.Marshal(res)
117+
if err != nil {
113118
e.opts.errorHandler.HandleError(w, err)
114119
return
115120
}
121+
122+
w.Header().Set("Content-Type", "application/json; charset=utf-8")
123+
w.WriteHeader(statusCode)
124+
w.Write(resBody)
116125
})
117126

118127
if len(e.opts.middleware) > 0 {

0 commit comments

Comments
 (0)