first version
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package response
|
||||
|
||||
type MessageCode int
|
||||
|
||||
type CodeMessage interface {
|
||||
String() string
|
||||
Code() int
|
||||
}
|
||||
|
||||
const (
|
||||
// HTTP Default Message
|
||||
CodeSuccess MessageCode = 1000
|
||||
CodeCreated MessageCode = 1001
|
||||
CodeAccepted MessageCode = 1002
|
||||
CodeNoContent MessageCode = 1003
|
||||
CodeRedirect MessageCode = 1004
|
||||
CodeDataFormat MessageCode = 1005
|
||||
CodeUnauthorized MessageCode = 1006
|
||||
CodeForbidden MessageCode = 1007
|
||||
CodeNotFound MessageCode = 1008
|
||||
CodeInternalError MessageCode = 1009
|
||||
|
||||
// Custom Message
|
||||
)
|
||||
|
||||
func (mc MessageCode) String() string {
|
||||
switch mc {
|
||||
case CodeSuccess:
|
||||
return "Success"
|
||||
case CodeCreated:
|
||||
return "Created"
|
||||
case CodeAccepted:
|
||||
return "Accepted"
|
||||
case CodeNoContent:
|
||||
return "No Content"
|
||||
case CodeRedirect:
|
||||
return "Moved Permanently"
|
||||
case CodeDataFormat:
|
||||
return "Data Format Error"
|
||||
case CodeUnauthorized:
|
||||
return "Unauthorized"
|
||||
case CodeForbidden:
|
||||
return "Forbidden"
|
||||
case CodeNotFound:
|
||||
return "Not Found"
|
||||
case CodeInternalError:
|
||||
return "Internal Error"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func (mc MessageCode) Code() int {
|
||||
return int(mc)
|
||||
}
|
||||
|
||||
func GetCodeMessage(c MessageCode) (MessageCode, string) {
|
||||
return c, c.String()
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package response
|
||||
|
||||
type RespType string
|
||||
|
||||
const (
|
||||
RespSuccess RespType = "success"
|
||||
RespCreated RespType = "created"
|
||||
RespAccepted RespType = "accepted"
|
||||
RespNoContent RespType = "noContent"
|
||||
RespRedirect RespType = "redirect"
|
||||
RespDataFormat RespType = "dataFormat"
|
||||
RespUnauthorized RespType = "unauthorized"
|
||||
RespForbidden RespType = "forbidden"
|
||||
RespNotFound RespType = "notFound"
|
||||
RespInternalError RespType = "internalError"
|
||||
)
|
||||
|
||||
type RespBody struct {
|
||||
MessageCode MessageCode `json:"messageCode"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
// default response
|
||||
// swagger:response respDefault
|
||||
type Resp struct {
|
||||
// in: body
|
||||
Body RespBody
|
||||
Status int
|
||||
}
|
||||
|
||||
func Get(key RespType, c ...MessageCode) Resp {
|
||||
r := Resp{Body: RespBody{}}
|
||||
|
||||
switch key {
|
||||
case RespSuccess:
|
||||
r.Status = 200
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeSuccess)
|
||||
break
|
||||
case RespCreated:
|
||||
r.Status = 201
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeCreated)
|
||||
break
|
||||
case RespAccepted:
|
||||
r.Status = 202
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeAccepted)
|
||||
break
|
||||
case RespNoContent:
|
||||
r.Status = 204
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeNoContent)
|
||||
break
|
||||
case RespRedirect:
|
||||
r.Status = 301
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeRedirect)
|
||||
break
|
||||
case RespDataFormat:
|
||||
r.Status = 400
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeDataFormat)
|
||||
break
|
||||
case RespUnauthorized:
|
||||
r.Status = 401
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeUnauthorized)
|
||||
break
|
||||
case RespForbidden:
|
||||
r.Status = 403
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeForbidden)
|
||||
break
|
||||
case RespNotFound:
|
||||
r.Status = 404
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeNotFound)
|
||||
break
|
||||
default:
|
||||
r.Status = 500
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(CodeInternalError)
|
||||
}
|
||||
|
||||
if len(c) > 0 {
|
||||
r.Body.MessageCode, r.Body.Message = GetCodeMessage(c[0])
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
Reference in New Issue
Block a user