Skip to content

Commit

Permalink
pretend it didnt happened
Browse files Browse the repository at this point in the history
  • Loading branch information
teodorescuserban committed Jun 12, 2024
1 parent 9050f9b commit bc096b8
Showing 1 changed file with 14 additions and 19 deletions.
33 changes: 14 additions & 19 deletions argsort.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,40 +13,35 @@ import (
)

func init() {
caddy.RegisterModule(Argsort{})
caddy.RegisterModule(Middleware{})
httpcaddyfile.RegisterHandlerDirective("argsort", parseCaddyfile)
}

// Argsort sort the query arguments after optionally lowercasing them.
//
// Syntax:
//
// argsort [lowercase]
type Argsort struct {
// Lowercase the query arguments before sorting them.
// Middleware implements an HTTP handler that reorders the query arguments.
type Middleware struct {
Lowercase bool `json:"lowercase,omitempty"`
}

// CaddyModule returns the Caddy module information.
func (Argsort) CaddyModule() caddy.ModuleInfo {
func (Middleware) CaddyModule() caddy.ModuleInfo {
return caddy.ModuleInfo{
ID: "http.handlers.argsort",
New: func() caddy.Module { return new(Argsort) },
New: func() caddy.Module { return new(Middleware) },
}
}

// Provision implements caddy.Provisioner.
func (a *Argsort) Provision(ctx caddy.Context) error {
func (a *Middleware) Provision(ctx caddy.Context) error {
return nil
}

// Validate implements caddy.Validator.
func (a *Argsort) Validate() error {
func (a *Middleware) Validate() error {
return nil
}

// ServeHTTP implements caddyhttp.MiddlewareHandler.
func (a Argsort) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error {
func (a Middleware) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error {
// url.Values.Encode() is doing the sort for us
if a.Lowercase {
values := url.Values{}
Expand All @@ -65,7 +60,7 @@ func (a Argsort) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhtt

// UnmarshalCaddyfile implements caddyfile.Unmarshaler.
// argsort [lower]
func (a *Argsort) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
func (a *Middleware) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
// Set default value for Lower
a.Lowercase = false

Expand All @@ -85,15 +80,15 @@ func (a *Argsort) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
//
// argsort [lowecase]
func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) {
var a Argsort
var a Middleware
err := a.UnmarshalCaddyfile(h.Dispenser)
return a, err
}

// Interface guards
var (
_ caddy.Provisioner = (*Argsort)(nil)
_ caddy.Validator = (*Argsort)(nil)
_ caddyhttp.MiddlewareHandler = (*Argsort)(nil)
_ caddyfile.Unmarshaler = (*Argsort)(nil)
_ caddy.Provisioner = (*Middleware)(nil)
_ caddy.Validator = (*Middleware)(nil)
_ caddyhttp.MiddlewareHandler = (*Middleware)(nil)
_ caddyfile.Unmarshaler = (*Middleware)(nil)
)

0 comments on commit bc096b8

Please sign in to comment.