infra
/
goutils
Archived
1
0
Fork 0
This repository has been archived on 2022-04-06. You can view files and clone it, but cannot push or open issues or pull requests.
goutils/net/json/resp_message.go

66 lines
3.5 KiB
Go

package json
import (
"bytes"
"net/http"
)
var (
// 200
ResponseOK = ResponseMessage(http.StatusText(http.StatusOK))
ResponsePartialContent = ResponseMessage(http.StatusText(http.StatusPartialContent))
// 300
ResponseMovedPermanently = ResponseMessage(http.StatusText(http.StatusMovedPermanently))
ResponseFound = ResponseMessage(http.StatusText(http.StatusFound))
ResponseSeeOther = ResponseMessage(http.StatusText(http.StatusSeeOther))
ResponseTemporaryRedirect = ResponseMessage(http.StatusText(http.StatusTemporaryRedirect))
ResponsePermanentRedirect = ResponseMessage(http.StatusText(http.StatusPermanentRedirect))
ResponseUnauthorized = ResponseMessage(http.StatusText(http.StatusUnauthorized))
ResponsePaymentRequired = ResponseMessage(http.StatusText(http.StatusPaymentRequired))
// 400
ResponseBadRequest = ResponseMessage(http.StatusText(http.StatusBadRequest))
ResponseForbidden = ResponseMessage(http.StatusText(http.StatusForbidden))
ResponseNotFound = ResponseMessage(http.StatusText(http.StatusNotFound))
ResponseMethodNotAllowed = ResponseMessage(http.StatusText(http.StatusMethodNotAllowed))
ResponseNotAcceptable = ResponseMessage(http.StatusText(http.StatusNotAcceptable))
ResponseRequestTimeout = ResponseMessage(http.StatusText(http.StatusRequestTimeout))
ResponseConflict = ResponseMessage(http.StatusText(http.StatusConflict))
ResponseGone = ResponseMessage(http.StatusText(http.StatusGone))
ResponsePreconditionFailed = ResponseMessage(http.StatusText(http.StatusPreconditionFailed))
ResponseRequestEntityTooLarge = ResponseMessage(http.StatusText(http.StatusRequestEntityTooLarge))
ResponseRequestURITooLong = ResponseMessage(http.StatusText(http.StatusRequestURITooLong))
ResponseUnsupportedMediaType = ResponseMessage(http.StatusText(http.StatusUnsupportedMediaType))
ResponseUpgradeRequired = ResponseMessage(http.StatusText(http.StatusUpgradeRequired))
ResponsePreconditionRequired = ResponseMessage(http.StatusText(http.StatusPreconditionRequired))
ResponseTooManyRequests = ResponseMessage(http.StatusText(http.StatusTooManyRequests))
ResponseRequestHeaderFieldsTooLarge = ResponseMessage(http.StatusText(http.StatusRequestHeaderFieldsTooLarge))
ResponseUnavailableForLegalReasons = ResponseMessage(http.StatusText(http.StatusUnavailableForLegalReasons))
// 500
ResponseInternalServerError = ResponseMessage(http.StatusText(http.StatusInternalServerError))
ResponseNotImplemented = ResponseMessage(http.StatusText(http.StatusNotImplemented))
ResponseBadGateway = ResponseMessage(http.StatusText(http.StatusBadGateway))
ResponseServiceUnavailable = ResponseMessage(http.StatusText(http.StatusServiceUnavailable))
ResponseGatewayTimeout = ResponseMessage(http.StatusText(http.StatusGatewayTimeout))
ResponseHTTPVersionNotSupported = ResponseMessage(http.StatusText(http.StatusHTTPVersionNotSupported))
ResponseInsufficientStorage = ResponseMessage(http.StatusText(http.StatusInsufficientStorage))
)
type ResponseMessage string
const (
responseMessagePayloadStart = `{"message":"`
responseMessagePayloadEnd = `"}`
)
func (rm ResponseMessage) MarshalJSON() ([]byte, error) {
buf := bytes.Buffer{}
buf.WriteString(responseMessagePayloadStart)
buf.WriteString(string(rm))
buf.WriteString(responseMessagePayloadEnd)
return buf.Bytes(), nil
}