mirror of
https://github.com/go-shiori/shiori.git
synced 2025-10-08 04:39:04 +08:00
* added 404 template * added auth domain * added embed file for frontend * added base config and dependencies * added basic new http server * added separated server command * updated go modules * removed modd file * Added shortcut to send internal server error response * Added JWT support to Auth Domain * Added JWT support to API * docs: added comments to response struct * naming * inline returns * updated dependencies * production logger * bookmarks endpoint * reverted old views api path * frontend for api v1 * proper 404 error (not working atm) * use response * removed 404 html * server error handler * login and basic auth * adjusted session duration * properly retrieve tags * properly delete bookmark * cleanup * archiver domain * debug routes * bookmark routes * expiration by parameter * move to logrus * logout * frontend cache * updated dependencies * http: migrated to gin * linted * Added version command * unit tests, docs * response test utils and tests * remove logout handler * auth * createtag * improved http test utilities * assert message equals * Remove 1.19 from test matrix * moved api to v1 folder * docs: contribute docs * updated makefile * updated usage docs * warn in server command * updaed docs with shiori version command * Updated documentation * deps: update
38 lines
898 B
Go
38 lines
898 B
Go
package response
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type Response struct {
|
|
// Response payload
|
|
// Ok if the response was successful or not
|
|
Ok bool `json:"ok"`
|
|
|
|
// Message the payload of the response, depending on the endpoint/response status
|
|
Message interface{} `json:"message"`
|
|
|
|
// ErrorParams parameters defined if the response is not successful to help client's debugging
|
|
ErrorParams map[string]string `json:"error_params,omitempty"`
|
|
|
|
// statusCode used for the http response status code
|
|
statusCode int
|
|
}
|
|
|
|
func (m *Response) IsError() bool {
|
|
return m.Ok
|
|
}
|
|
|
|
func (m *Response) Send(c *gin.Context) {
|
|
c.Status(m.statusCode)
|
|
c.JSON(m.statusCode, m)
|
|
}
|
|
|
|
func NewResponse(ok bool, message interface{}, errorParams map[string]string, statusCode int) *Response {
|
|
return &Response{
|
|
Ok: ok,
|
|
Message: message,
|
|
ErrorParams: errorParams,
|
|
statusCode: statusCode,
|
|
}
|
|
}
|