Class: Ollama::Transport::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ollama/transport/base.rb

Overview

Base transport adapter contract.

Direct Known Subclasses

Mock, NetHTTP

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Base

Returns a new instance of Base.



10
11
12
# File 'lib/ollama/transport/base.rb', line 10

def initialize(config)
  @config = config
end

Instance Method Details

#call(request, _env = {}) ⇒ Object

Chain entry point used by the pipeline. Surfaces HTTP failures as typed errors (Errors.from_response) inside the middleware chain so policies like Retry/AutoPull/Fallback can observe them.



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ollama/transport/base.rb', line 21

def call(request, _env = {})
  response = request(
    uri: request.uri,
    request: request,
    read_timeout: request.timeout
  )

  raise Errors.from_response(response) if response.is_a?(Response) && !response.success?

  response
end

#capabilitiesObject



37
38
39
# File 'lib/ollama/transport/base.rb', line 37

def capabilities
  []
end

#request(_uri:, _request:, _read_timeout:) ⇒ Object

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/ollama/transport/base.rb', line 14

def request(_uri:, _request:, _read_timeout:)
  raise NotImplementedError, "transport adapter must implement #request"
end

#stream(_uri:, _request:, &_block) ⇒ Object

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/ollama/transport/base.rb', line 33

def stream(_uri:, _request:, &_block)
  raise NotImplementedError, "transport adapter must implement #stream"
end