lib

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2025 License: MIT Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetLoggerForRequest

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

func NewState

func NewState(p policy.Policy, opt settings.Settings, settings policy.StateSettings) (handler http.Handler, err error)

Types

type RuleState

type RuleState struct {
	Name string
	Hash string

	Condition cel.Program

	Action  policy.RuleAction
	Handler action.Handler

	Children []RuleState
}

func NewRuleState added in v0.5.0

func NewRuleState(state challenge.StateInterface, r policy.Rule, replacer *strings.Replacer, parent *RuleState) (RuleState, error)

func (RuleState) Evaluate added in v0.5.0

func (rule RuleState) Evaluate(logger *slog.Logger, w http.ResponseWriter, r *http.Request, done func() http.Handler) (next bool, err error)

type State

type State struct {
	Mux *http.ServeMux
	// contains filtered or unexported fields
}

func (*State) ActionHit added in v0.6.0

func (state *State) ActionHit(r *http.Request, name policy.RuleAction, logger *slog.Logger)

func (*State) ChallengeChecked added in v0.6.0

func (state *State) ChallengeChecked(r *http.Request, reg *challenge.Registration, redirect string, logger *slog.Logger)

func (*State) ChallengeFailed added in v0.5.0

func (state *State) ChallengeFailed(r *http.Request, reg *challenge.Registration, err error, redirect string, logger *slog.Logger)

func (*State) ChallengeIssued added in v0.5.0

func (state *State) ChallengeIssued(r *http.Request, reg *challenge.Registration, redirect string, logger *slog.Logger)

func (*State) ChallengePage added in v0.5.0

func (state *State) ChallengePage(w http.ResponseWriter, r *http.Request, status int, reg *challenge.Registration, params map[string]any)

func (*State) ChallengePassed added in v0.5.0

func (state *State) ChallengePassed(r *http.Request, reg *challenge.Registration, redirect string, logger *slog.Logger)

func (*State) Client

func (state *State) Client() *http.Client

func (*State) ErrorPage added in v0.5.0

func (state *State) ErrorPage(w http.ResponseWriter, r *http.Request, status int, err error, redirect string)

func (*State) GetBackend added in v0.5.0

func (state *State) GetBackend(host string) http.Handler

func (*State) GetChallenge added in v0.5.0

func (state *State) GetChallenge(id challenge.Id) (*challenge.Registration, bool)

func (*State) GetChallengeByName

func (state *State) GetChallengeByName(name string) (*challenge.Registration, bool)

func (*State) GetChallenges added in v0.5.0

func (state *State) GetChallenges() challenge.Register

func (*State) Logger added in v0.5.0

func (state *State) Logger(r *http.Request) *slog.Logger

func (*State) Options added in v0.6.0

func (state *State) Options() settings.Settings

func (*State) PrivateKey added in v0.5.0

func (state *State) PrivateKey() ed25519.PrivateKey

func (*State) ProgramEnv added in v0.5.0

func (state *State) ProgramEnv() *cel.Env

func (*State) PublicKey added in v0.5.0

func (state *State) PublicKey() ed25519.PublicKey

func (*State) RuleHit added in v0.6.0

func (state *State) RuleHit(r *http.Request, name string, logger *slog.Logger)

func (*State) RuleMiss added in v0.6.0

func (state *State) RuleMiss(r *http.Request, name string, logger *slog.Logger)

func (*State) ServeHTTP

func (state *State) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*State) Settings

func (state *State) Settings() policy.StateSettings

func (*State) UrlPath

func (state *State) UrlPath() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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