web

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2023 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FormXSRF   = "_xsrf"
	CookieXSRF = "_xsrf"
)

Variables

This section is empty.

Functions

func GetClientIP

func GetClientIP(r *http.Request) string

func XSRF

func XSRF(writer http.ResponseWriter) string

XSRF protection token. Returned token should be submitted as _xsrf form value. Panics if crypto generator is not available.

Types

type Captcha

type Captcha interface {
	Embed() template.HTML
	Validate(form *http.Request) bool
}

type FlashMessage

type FlashMessage struct {
	Name string
	Text string
	Type FlashType
}

type FlashType

type FlashType string
const (
	FlashError FlashType = "danger"
	FlashInfo  FlashType = "info"
)

type Request

type Request struct {
	// contains filtered or unexported fields
}

func NewRequest

func NewRequest(writer http.ResponseWriter, request *http.Request) *Request

func (*Request) Clear

func (r *Request) Clear()

Clear session.

func (*Request) Context

func (r *Request) Context() context.Context

func (*Request) Credentials

func (r *Request) Credentials() *schema.Credentials

func (*Request) EmbedCaptcha

func (r *Request) EmbedCaptcha() template.HTML

func (*Request) EmbedSession

func (r *Request) EmbedSession() template.HTML

func (*Request) EmbedXSRF

func (r *Request) EmbedXSRF() template.HTML

func (*Request) Error

func (r *Request) Error(message any) *Request

Error flash message.

func (*Request) Flash

func (r *Request) Flash(name string, message any, flashType FlashType) *Request

func (*Request) Info

func (r *Request) Info(message any) *Request

Info flash message.

func (*Request) Logger

func (r *Request) Logger() *slog.Logger

func (*Request) Messages

func (r *Request) Messages(names ...string) []FlashMessage

func (*Request) Pop

func (r *Request) Pop(sessionKey string) string

Pop value from session.

func (*Request) Push

func (r *Request) Push(sessionKey string, value string) *Request

Push value to session.

func (*Request) Render

func (r *Request) Render(code int, view *template.Template)

func (*Request) Request

func (r *Request) Request() *http.Request

func (*Request) Session

func (r *Request) Session() map[string]string

Session values. Visible to clients, but available only via POST.

func (*Request) Set

func (r *Request) Set(key string, state any) *Request

func (*Request) State

func (r *Request) State() map[string]any

func (*Request) VerifyCaptcha

func (r *Request) VerifyCaptcha() bool

func (*Request) VerifyXSRF

func (r *Request) VerifyXSRF() bool

func (*Request) WithCaptcha

func (r *Request) WithCaptcha(captcha ...Captcha) *Request

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL