MCPcopy
hub / github.com/segmentio/kafka-go / buildReq

Function buildReq

sasl/aws_msk_iam_v2/msk_iam.go:113–136  ·  view source on GitHub ↗

buildReq builds http.Request for aws PreSign.

(ctx context.Context, expiry time.Duration)

Source from the content-addressed store, hash-verified

111
112// buildReq builds http.Request for aws PreSign.
113func buildReq(ctx context.Context, expiry time.Duration) (*http.Request, error) {
114 query := url.Values{
115 queryActionKey: {signAction},
116 queryExpiryKey: {strconv.FormatInt(int64(expiry/time.Second), 10)},
117 }
118 saslMeta := sasl.MetadataFromContext(ctx)
119 if saslMeta == nil {
120 return nil, errors.New("missing sasl metadata")
121 }
122
123 signUrl := url.URL{
124 Scheme: "kafka",
125 Host: saslMeta.Host,
126 Path: "/",
127 RawQuery: query.Encode(),
128 }
129
130 req, err := http.NewRequest(http.MethodGet, signUrl.String(), nil)
131 if err != nil {
132 return nil, err
133 }
134
135 return req, nil
136}
137
138// buildSignedMap builds signed string map which will be used to authenticate with MSK.
139func buildSignedMap(u *url.URL, header http.Header) map[string]string {

Callers 1

preSignMethod · 0.85

Calls 2

MetadataFromContextFunction · 0.92
StringMethod · 0.45

Tested by

no test coverage detected