1package http
2
3import (
4 "context"
5
6 smithy "github.com/aws/smithy-go"
7 "github.com/aws/smithy-go/auth"
8)
9
10// AuthScheme defines an HTTP authentication scheme.
11type AuthScheme interface {
12 SchemeID() string
13 IdentityResolver(auth.IdentityResolverOptions) auth.IdentityResolver
14 Signer() Signer
15}
16
17// Signer defines the interface through which HTTP requests are supplemented
18// with an Identity.
19type Signer interface {
20 SignRequest(context.Context, *Request, auth.Identity, smithy.Properties) error
21}