Class: A2A::Server::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/a2a/server/agent.rb

Overview

Request context for A2A method execution

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request: nil, user: nil, session: nil, metadata: {}) ⇒ Context

Returns a new instance of Context.



459
460
461
462
463
464
465
# File 'lib/a2a/server/agent.rb', line 459

def initialize(request: nil, user: nil, session: nil, metadata: {})
  @request = request
  @user = user
  @session = session
  @metadata = 
  @auth_schemes = {}
end

Instance Attribute Details

#metadataObject (readonly)

Returns the value of attribute metadata.



457
458
459
# File 'lib/a2a/server/agent.rb', line 457

def 
  @metadata
end

#requestObject (readonly)

Returns the value of attribute request.



457
458
459
# File 'lib/a2a/server/agent.rb', line 457

def request
  @request
end

#sessionObject (readonly)

Returns the value of attribute session.



457
458
459
# File 'lib/a2a/server/agent.rb', line 457

def session
  @session
end

#userObject (readonly)

Returns the value of attribute user.



457
458
459
# File 'lib/a2a/server/agent.rb', line 457

def user
  @user
end

Instance Method Details

#authenticated?Boolean

Check if the request is authenticated

Returns:

  • (Boolean)

    True if authenticated



471
472
473
# File 'lib/a2a/server/agent.rb', line 471

def authenticated?
  !@auth_schemes.empty?
end

#authenticated_with?(scheme) ⇒ Boolean

Check if authenticated with a specific scheme

Parameters:

  • scheme (String)

    The security scheme name

Returns:

  • (Boolean)

    True if authenticated with the scheme



480
481
482
# File 'lib/a2a/server/agent.rb', line 480

def authenticated_with?(scheme)
  @auth_schemes.key?(scheme)
end

#get_authentication(scheme) ⇒ Object?

Get authentication data for a scheme

Parameters:

  • scheme (String)

    The security scheme name

Returns:

  • (Object, nil)

    The authentication data



498
499
500
# File 'lib/a2a/server/agent.rb', line 498

def get_authentication(scheme)
  @auth_schemes[scheme]
end

#get_metadata(key) ⇒ Object?

Get metadata

Parameters:

  • key (String, Symbol)

    Metadata key

Returns:

  • (Object, nil)

    Metadata value



532
533
534
# File 'lib/a2a/server/agent.rb', line 532

def (key)
  @metadata[key]
end

#set_authentication(scheme, data) ⇒ Object

Set authentication for a scheme

Parameters:

  • scheme (String)

    The security scheme name

  • data (Object)

    Authentication data



489
490
491
# File 'lib/a2a/server/agent.rb', line 489

def set_authentication(scheme, data)
  @auth_schemes[scheme] = data
end

#set_metadata(key, value) ⇒ Object

Set metadata

Parameters:

  • key (String, Symbol)

    Metadata key

  • value (Object)

    Metadata value



523
524
525
# File 'lib/a2a/server/agent.rb', line 523

def (key, value)
  @metadata[key] = value
end

#set_session(session) ⇒ Object

Set session information

Parameters:

  • session (Object)

    Session object or identifier



514
515
516
# File 'lib/a2a/server/agent.rb', line 514

def set_session(session)
  @session = session
end

#set_user(user) ⇒ Object

Set user information

Parameters:

  • user (Object)

    User object or identifier



506
507
508
# File 'lib/a2a/server/agent.rb', line 506

def set_user(user)
  @user = user
end