removed intermediate /internal directory
This commit is contained in:
@@ -0,0 +1,192 @@
|
||||
package response
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"ruben/inventory2/server/redirect"
|
||||
)
|
||||
|
||||
type (
|
||||
redirectRes struct {
|
||||
code redirect.Code
|
||||
to string
|
||||
res Response
|
||||
}
|
||||
)
|
||||
|
||||
var _ Response = redirectRes{}
|
||||
|
||||
// convenience constructors
|
||||
|
||||
func MovedPermanently(to string) Response {
|
||||
return redirectRes{
|
||||
code: redirect.MovedPermanently,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func Found(to string) Response {
|
||||
return redirectRes{
|
||||
code: redirect.Found,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func SeeOther(to string) Response {
|
||||
return redirectRes{
|
||||
code: redirect.SeeOther,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func TemporaryRedirect(to string) Response {
|
||||
return redirectRes{
|
||||
code: redirect.TemporaryRedirect,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func PermanentRedirect(to string) Response {
|
||||
return redirectRes{
|
||||
code: redirect.PermanentRedirect,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func Redirect(code redirect.Code, to string) Response {
|
||||
return redirectRes{
|
||||
code: code,
|
||||
to: to,
|
||||
}
|
||||
}
|
||||
|
||||
func (r redirectRes) String() string {
|
||||
if r.res != nil {
|
||||
return fmt.Sprintf(`{"redirect": {"code": %d, "to": %q}, "nested": %s}`, r.code, r.to, r.res)
|
||||
}
|
||||
return fmt.Sprintf(`{"redirect": {"code": %d, "to": %q}}`, r.code, r.to)
|
||||
}
|
||||
|
||||
func (r redirectRes) wrap(res Response) Response {
|
||||
r.res = res
|
||||
return r
|
||||
}
|
||||
|
||||
func (r redirectRes) Status(code int) Response {
|
||||
return Status(code).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) Redirect(code redirect.Code, to string) Response {
|
||||
r.code = code
|
||||
r.to = to
|
||||
return r
|
||||
}
|
||||
|
||||
func (r redirectRes) HTML(body []byte) Response {
|
||||
return HTML(body).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) JSON(body any) Response {
|
||||
return JSON(body).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) Body(body io.ReadCloser) Response {
|
||||
return Body(body).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) Cookie(ck http.Cookie) Response {
|
||||
return Cookie(ck).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXPushURL(v string) Response {
|
||||
return HXPushURL(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXLocation(v string) Response {
|
||||
return HXLocation(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXPushUrl(v string) Response {
|
||||
return HXPushUrl(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXRedirect(v string) Response {
|
||||
return HXRedirect(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXRefresh(v string) Response {
|
||||
return HXRefresh(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXReplaceUrl(v string) Response {
|
||||
return HXReplaceUrl(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXReswap(v string) Response {
|
||||
return HXReswap(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXRetarget(v string) Response {
|
||||
return HXRetarget(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXReselect(v string) Response {
|
||||
return HXReselect(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXTrigger(v string) Response {
|
||||
return HXTrigger(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXTriggerAfterSettle(v string) Response {
|
||||
return HXTriggerAfterSettle(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) HXTriggerAfterSwap(v string) Response {
|
||||
return HXTriggerAfterSwap(v).wrap(r)
|
||||
}
|
||||
|
||||
func (r redirectRes) GetStatus() (int, bool) {
|
||||
if r.res == nil {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
return r.res.GetStatus()
|
||||
}
|
||||
|
||||
func (r redirectRes) getHeaders() [][2]string {
|
||||
if r.res != nil {
|
||||
return r.res.getHeaders()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r redirectRes) GetRedirect() (code redirect.Code, to string, ok bool) {
|
||||
return r.code, r.to, true
|
||||
}
|
||||
|
||||
func (r redirectRes) getBody() (body io.ReadCloser, ok bool, err error) {
|
||||
if r.res == nil {
|
||||
return nil, false, nil
|
||||
}
|
||||
|
||||
return r.res.getBody()
|
||||
}
|
||||
|
||||
func (r redirectRes) getCookies() []http.Cookie {
|
||||
if r.res != nil {
|
||||
return r.res.getCookies()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r redirectRes) getContentType() (contentType string, ok bool) {
|
||||
if r.res != nil {
|
||||
return r.res.getContentType()
|
||||
}
|
||||
|
||||
return "", false
|
||||
}
|
||||
Reference in New Issue
Block a user