// Code generated by ogen, DO NOT EDIT.
package gen
import (
"context"
"net/http"
"github.com/go-faster/errors"
)
// SecuritySource is provider of security values (tokens, passwords, etc.).
type SecuritySource interface {
// ApiKey provides apiKey security value.
ApiKey(ctx context.Context, operationName OperationName) (ApiKey, error)
// ApiToken provides apiToken security value.
ApiToken(ctx context.Context, operationName OperationName) (ApiToken, error)
}
func (s *Client) securityApiKey(ctx context.Context, operationName OperationName, req *http.Request) error {
t, err := s.sec.ApiKey(ctx, operationName)
if err != nil {
return errors.Wrap(err, "security source \"ApiKey\"")
}
q := req.URL.Query()
q.Set("key", t.APIKey)
req.URL.RawQuery = q.Encode()
return nil
}
func (s *Client) securityApiToken(ctx context.Context, operationName OperationName, req *http.Request) error {
t, err := s.sec.ApiToken(ctx, operationName)
if err != nil {
return errors.Wrap(err, "security source \"ApiToken\"")
}
q := req.URL.Query()
q.Set("token", t.APIKey)
req.URL.RawQuery = q.Encode()
return nil
}