package kb

import (
	"net/http"
	"strings"
)

func gitAuthorizationAuth(configuredHeader string, value string) *bearerHeaderAuth {
	value = strings.TrimSpace(value)
	if value == "" {
		return nil
	}
	return &bearerHeaderAuth{headerName: agsAuthHeader(configuredHeader), value: value}
}

type bearerHeaderAuth struct {
	headerName string
	value      string
}

func (a *bearerHeaderAuth) SetAuth(r *http.Request) {
	if a != nil && strings.TrimSpace(a.value) != "" {
		r.Header.Set(agsAuthHeader(a.headerName), a.value)
	}
}

func (a *bearerHeaderAuth) Name() string { return "http-agentteam-auth-header" }

func (a *bearerHeaderAuth) String() string { return a.Name() + " - *******" }
