agecem-org/apiresponse/apiresponse.go

45 lines
777 B
Go

package apiresponse
import (
"net/http"
)
type Responder interface {
Respond() Responder
}
type Response struct {
StatusCode int `json:"status_code"`
Message string
Error string
}
func (r Response) Respond() Responder {
return r
}
type SimpleResponse struct {
Message string
}
func (r SimpleResponse) Respond() Responder {
return r
}
func NotFoundResponse() (int, SimpleResponse) {
return http.StatusNotFound, SimpleResponse{
Message: "Not Found",
}
}
func NotImplementedResponse() (int, SimpleResponse) {
return http.StatusNotImplemented, SimpleResponse{
Message: "Not Implemented",
}
}
func InternalServerErrorResponse() (int, SimpleResponse) {
return http.StatusInternalServerError, SimpleResponse{
Message: "Internal Server Error",
}
}