mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-14 12:38:45 +00:00
33 lines
586 B
Go
33 lines
586 B
Go
package headerexists
|
|
|
|
import (
|
|
"net/http"
|
|
"strings"
|
|
|
|
"github.com/TecharoHQ/anubis/internal"
|
|
"github.com/TecharoHQ/anubis/lib/checker"
|
|
)
|
|
|
|
func New(key string) checker.Interface {
|
|
return headerExistsChecker{
|
|
header: strings.TrimSpace(http.CanonicalHeaderKey(key)),
|
|
hash: internal.FastHash(key),
|
|
}
|
|
}
|
|
|
|
type headerExistsChecker struct {
|
|
header, hash string
|
|
}
|
|
|
|
func (hec headerExistsChecker) Check(r *http.Request) (bool, error) {
|
|
if r.Header.Get(hec.header) != "" {
|
|
return true, nil
|
|
}
|
|
|
|
return false, nil
|
|
}
|
|
|
|
func (hec headerExistsChecker) Hash() string {
|
|
return hec.hash
|
|
}
|