blob: 48b22d9cf07ebf31db5490ef3711ba81bdc08aeb [file] [log] [blame]
Abhay Kumara2ae5992025-11-10 14:02:24 +00001/*
2 * Copyright 2021 gRPC authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package credentials
18
19import (
20 "context"
21)
22
23// clientHandshakeInfoKey is a struct used as the key to store
24// ClientHandshakeInfo in a context.
25type clientHandshakeInfoKey struct{}
26
27// ClientHandshakeInfoFromContext extracts the ClientHandshakeInfo from ctx.
28func ClientHandshakeInfoFromContext(ctx context.Context) any {
29 return ctx.Value(clientHandshakeInfoKey{})
30}
31
32// NewClientHandshakeInfoContext creates a context with chi.
33func NewClientHandshakeInfoContext(ctx context.Context, chi any) context.Context {
34 return context.WithValue(ctx, clientHandshakeInfoKey{}, chi)
35}