blob: 48b22d9cf07ebf31db5490ef3711ba81bdc08aeb [file] [log] [blame]
khenaidoo5fc5cea2021-08-11 17:39:16 -04001/*
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
khenaidoo5fc5cea2021-08-11 17:39:16 -040023// 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.
Abhay Kumar03713392025-12-30 05:20:58 +000028func ClientHandshakeInfoFromContext(ctx context.Context) any {
khenaidoo5fc5cea2021-08-11 17:39:16 -040029 return ctx.Value(clientHandshakeInfoKey{})
30}
31
32// NewClientHandshakeInfoContext creates a context with chi.
Abhay Kumar03713392025-12-30 05:20:58 +000033func NewClientHandshakeInfoContext(ctx context.Context, chi any) context.Context {
khenaidoo5fc5cea2021-08-11 17:39:16 -040034 return context.WithValue(ctx, clientHandshakeInfoKey{}, chi)
35}