goext/ginext/response.go

48 lines
861 B
Go
Raw Permalink Normal View History

2023-07-18 14:40:10 +02:00
package ginext
import (
"github.com/gin-gonic/gin"
2023-07-24 11:11:15 +02:00
"gogs.mikescher.com/BlackForestBytes/goext/exerr"
2023-07-18 14:40:10 +02:00
)
2024-01-12 15:10:48 +01:00
type cookieval struct {
name string
value string
maxAge int
path string
domain string
secure bool
httpOnly bool
}
2023-07-24 14:16:02 +02:00
type headerval struct {
Key string
Val string
}
2023-07-18 14:40:10 +02:00
type HTTPResponse interface {
Write(g *gin.Context)
2023-07-24 14:16:02 +02:00
WithHeader(k string, v string) HTTPResponse
2024-01-12 15:10:48 +01:00
WithCookie(name string, value string, maxAge int, path string, domain string, secure bool, httpOnly bool) HTTPResponse
2023-12-02 13:15:19 +01:00
IsSuccess() bool
2023-07-18 14:40:10 +02:00
}
2023-12-28 01:36:21 +01:00
type InspectableHTTPResponse interface {
HTTPResponse
Statuscode() int
BodyString(g *gin.Context) *string
ContentType() string
Headers() []string
}
2024-07-16 15:16:56 +02:00
type HTTPErrorResponse interface {
2024-07-16 15:08:37 +02:00
HTTPResponse
Error() error
}
func NotImplemented() HTTPResponse {
return Error(exerr.New(exerr.TypeNotImplemented, "").Build())
2023-07-18 14:40:10 +02:00
}