Class: RubyLLM::MCP::Auth::MemoryStorage
- Inherits:
-
Object
- Object
- RubyLLM::MCP::Auth::MemoryStorage
- Defined in:
- lib/ruby_llm/mcp/auth/memory_storage.rb
Overview
In-memory storage for OAuth data Stores tokens, client registrations, server metadata, and temporary session data
Instance Method Summary collapse
- #delete_pkce(server_url) ⇒ Object
- #delete_resource_metadata(server_url) ⇒ Object
- #delete_state(server_url) ⇒ Object
- #delete_token(server_url) ⇒ Object
-
#get_client_info(server_url) ⇒ Object
Client registration storage.
-
#get_pkce(server_url) ⇒ Object
PKCE state management (temporary).
-
#get_resource_metadata(server_url) ⇒ Object
Resource metadata management.
-
#get_server_metadata(server_url) ⇒ Object
Server metadata caching.
-
#get_state(server_url) ⇒ Object
State parameter management (temporary).
-
#get_token(server_url) ⇒ Object
Token storage.
-
#initialize ⇒ MemoryStorage
constructor
A new instance of MemoryStorage.
- #set_client_info(server_url, client_info) ⇒ Object
- #set_pkce(server_url, pkce) ⇒ Object
- #set_resource_metadata(server_url, metadata) ⇒ Object
- #set_server_metadata(server_url, metadata) ⇒ Object
- #set_state(server_url, state) ⇒ Object
- #set_token(server_url, token) ⇒ Object
Constructor Details
#initialize ⇒ MemoryStorage
Returns a new instance of MemoryStorage.
9 10 11 12 13 14 15 16 17 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 9 def initialize @mutex = Mutex.new @tokens = {} @client_infos = {} @server_metadata = {} @pkce_data = {} @state_data = {} @resource_metadata = {} end |
Instance Method Details
#delete_pkce(server_url) ⇒ Object
59 60 61 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 59 def delete_pkce(server_url) @mutex.synchronize { @pkce_data.delete(server_url) } end |
#delete_resource_metadata(server_url) ⇒ Object
85 86 87 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 85 def (server_url) @mutex.synchronize { @resource_metadata.delete(server_url) } end |
#delete_state(server_url) ⇒ Object
72 73 74 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 72 def delete_state(server_url) @mutex.synchronize { @state_data.delete(server_url) } end |
#delete_token(server_url) ⇒ Object
28 29 30 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 28 def delete_token(server_url) @mutex.synchronize { @tokens.delete(server_url) } end |
#get_client_info(server_url) ⇒ Object
Client registration storage
33 34 35 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 33 def get_client_info(server_url) @mutex.synchronize { @client_infos[server_url] } end |
#get_pkce(server_url) ⇒ Object
PKCE state management (temporary)
51 52 53 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 51 def get_pkce(server_url) @mutex.synchronize { @pkce_data[server_url] } end |
#get_resource_metadata(server_url) ⇒ Object
Resource metadata management
77 78 79 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 77 def (server_url) @mutex.synchronize { @resource_metadata[server_url] } end |
#get_server_metadata(server_url) ⇒ Object
Server metadata caching
42 43 44 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 42 def (server_url) @mutex.synchronize { @server_metadata[server_url] } end |
#get_state(server_url) ⇒ Object
State parameter management (temporary)
64 65 66 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 64 def get_state(server_url) @mutex.synchronize { @state_data[server_url] } end |
#get_token(server_url) ⇒ Object
Token storage
20 21 22 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 20 def get_token(server_url) @mutex.synchronize { @tokens[server_url] } end |
#set_client_info(server_url, client_info) ⇒ Object
37 38 39 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 37 def set_client_info(server_url, client_info) @mutex.synchronize { @client_infos[server_url] = client_info } end |
#set_pkce(server_url, pkce) ⇒ Object
55 56 57 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 55 def set_pkce(server_url, pkce) @mutex.synchronize { @pkce_data[server_url] = pkce } end |
#set_resource_metadata(server_url, metadata) ⇒ Object
81 82 83 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 81 def (server_url, ) @mutex.synchronize { @resource_metadata[server_url] = } end |
#set_server_metadata(server_url, metadata) ⇒ Object
46 47 48 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 46 def (server_url, ) @mutex.synchronize { @server_metadata[server_url] = } end |
#set_state(server_url, state) ⇒ Object
68 69 70 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 68 def set_state(server_url, state) @mutex.synchronize { @state_data[server_url] = state } end |
#set_token(server_url, token) ⇒ Object
24 25 26 |
# File 'lib/ruby_llm/mcp/auth/memory_storage.rb', line 24 def set_token(server_url, token) @mutex.synchronize { @tokens[server_url] = token } end |