(request *rpc.ProviderTokenAcquireRequest)
| 222 | } |
| 223 | |
| 224 | func (a *providerTokenClientSessionAdapter) GetToken(request *rpc.ProviderTokenAcquireRequest) (*rpc.ProviderTokenAcquireResult, error) { |
| 225 | if request == nil { |
| 226 | return nil, providerTokenJSONRPCError("missing provider token request") |
| 227 | } |
| 228 | if a.session == nil || a.session.SessionID != request.SessionID { |
| 229 | return nil, providerTokenJSONRPCError(fmt.Sprintf("unknown session %s", request.SessionID)) |
| 230 | } |
| 231 | callback := a.session.getBearerTokenProvider(request.ProviderName) |
| 232 | if callback == nil { |
| 233 | return nil, providerTokenJSONRPCError(fmt.Sprintf("No bearer-token provider registered for provider %q", request.ProviderName)) |
| 234 | } |
| 235 | token, err := callback(ProviderTokenArgs{ProviderName: request.ProviderName, SessionID: request.SessionID}) |
| 236 | if err != nil { |
| 237 | return nil, providerTokenJSONRPCError(err.Error()) |
| 238 | } |
| 239 | return &rpc.ProviderTokenAcquireResult{Token: token}, nil |
| 240 | } |
| 241 | |
| 242 | func providerTokenJSONRPCError(message string) *jsonrpc2.Error { |
| 243 | return &jsonrpc2.Error{ |
nothing calls this directly
no test coverage detected