init server
This commit is contained in:
31
internal/utils/responses.go
Executable file
31
internal/utils/responses.go
Executable file
@@ -0,0 +1,31 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"nos-comptes/internal/storage/model"
|
||||
)
|
||||
|
||||
func JSON(w http.ResponseWriter, status int, data interface{}) {
|
||||
w.Header().Set(HeaderNameContentType, HeaderValueApplicationJSONUTF8)
|
||||
w.WriteHeader(status)
|
||||
if data != nil {
|
||||
json.NewEncoder(w).Encode(data)
|
||||
}
|
||||
}
|
||||
|
||||
func JSONError(w http.ResponseWriter, e model.APIError) {
|
||||
if e.Headers != nil {
|
||||
for k, headers := range e.Headers {
|
||||
for _, headerValue := range headers {
|
||||
w.Header().Add(k, headerValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
JSON(w, e.HTTPCode, e)
|
||||
}
|
||||
|
||||
func JSONErrorWithMessage(w http.ResponseWriter, e model.APIError, message string) {
|
||||
e.Description = message
|
||||
JSONError(w, e)
|
||||
}
|
||||
Reference in New Issue
Block a user