Documentation ¶
Overview ¶
Package rewrite is middleware for rewriting requests internally to a different path.
Index ¶
Constants ¶
const ( Is = "is" Not = "not" Has = "has" NotHas = "not_has" StartsWith = "starts_with" EndsWith = "ends_with" Match = "match" NotMatch = "not_match" )
Operators
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComplexRule ¶ added in v0.8.1
type ComplexRule struct { // Path base. Request to this path and subpaths will be rewritten Base string // Path to rewrite to To string // If set, neither performs rewrite nor proceeds // with request. Only returns code. Status int // Extensions to filter by Exts []string // Rewrite conditions Ifs []If *regexp.Regexp }
ComplexRule is a rewrite rule based on a regular expression
func NewComplexRule ¶ added in v0.8.1
func NewComplexRule(base, pattern, to string, status int, ext []string, ifs []If) (*ComplexRule, error)
NewComplexRule creates a new RegexpRule. It returns an error if regexp pattern (pattern) or extensions (ext) are invalid.
func (*ComplexRule) Rewrite ¶ added in v0.8.1
func (r *ComplexRule) Rewrite(fs http.FileSystem, req *http.Request) (re Result)
Rewrite rewrites the internal location of the current request.
type If ¶ added in v0.8.1
If is statement for a rewrite condition.
type Result ¶ added in v0.8.1
type Result int
Result is the result of a rewrite
func To ¶ added in v0.8.1
func To(fs http.FileSystem, r *http.Request, to string, replacer middleware.Replacer) Result
To attempts rewrite. It attempts to rewrite to first valid path or the last path if none of the paths are valid. Returns true if rewrite is successful and false otherwise.
type Rewrite ¶
type Rewrite struct { Next middleware.Handler FileSys http.FileSystem Rules []Rule }
Rewrite is middleware to rewrite request locations internally before being handled.
type Rule ¶ added in v0.6.0
type Rule interface { // Rewrite rewrites the internal location of the current request. Rewrite(http.FileSystem, *http.Request) Result }
Rule describes an internal location rewrite rule.
type SimpleRule ¶ added in v0.7.0
type SimpleRule struct {
From, To string
}
SimpleRule is a simple rewrite rule.
func NewSimpleRule ¶ added in v0.7.0
func NewSimpleRule(from, to string) SimpleRule
NewSimpleRule creates a new Simple Rule
func (SimpleRule) Rewrite ¶ added in v0.7.0
func (s SimpleRule) Rewrite(fs http.FileSystem, r *http.Request) Result
Rewrite rewrites the internal location of the current request.