Path: blob/dev/pkg/authprovider/authx/headers_auth.go
2070 views
package authx12import (3"net/http"45"github.com/projectdiscovery/retryablehttp-go"6)78var (9_ AuthStrategy = &HeadersAuthStrategy{}10)1112// HeadersAuthStrategy is a strategy for headers auth13type HeadersAuthStrategy struct {14Data *Secret15}1617// NewHeadersAuthStrategy creates a new headers auth strategy18func NewHeadersAuthStrategy(data *Secret) *HeadersAuthStrategy {19return &HeadersAuthStrategy{Data: data}20}2122// Apply applies the headers auth strategy to the request23func (s *HeadersAuthStrategy) Apply(req *http.Request) {24for _, header := range s.Data.Headers {25req.Header.Set(header.Key, header.Value)26}27}2829// ApplyOnRR applies the headers auth strategy to the retryable request30func (s *HeadersAuthStrategy) ApplyOnRR(req *retryablehttp.Request) {31for _, header := range s.Data.Headers {32req.Header.Set(header.Key, header.Value)33}34}353637