Class: LLM::Transport::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/llm/transport/response.rb,
lib/llm/transport/response/http.rb

Overview

LLM::Transport::Response defines the normalized HTTP response interface expected by transports and provider error handlers.

Custom transports can execute requests through any underlying HTTP client, then adapt that client’s native response object to this interface.

This keeps the transport boundary focused on one contract: providers, execution, and error handlers only need a response object that implements LLM::Transport::Response, regardless of how the request was actually performed.

Direct Known Subclasses

HTTP

Defined Under Namespace

Classes: HTTP

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from(res) ⇒ LLM::Transport::Response

Parameters:

Returns:



24
25
26
27
28
# File 'lib/llm/transport/response.rb', line 24

def self.from(res)
  return res if LLM::Transport::Response === res
  return HTTP.new(res) if Net::HTTPResponse === res
  res
end

Instance Method Details

#[](key) ⇒ String?

Parameters:

  • key (String)

Returns:

  • (String, nil)

Raises:

  • (NotImplementedError)


52
53
54
# File 'lib/llm/transport/response.rb', line 52

def [](key)
  raise NotImplementedError
end

#bad_request?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


78
79
80
# File 'lib/llm/transport/response.rb', line 78

def bad_request?
  raise NotImplementedError
end

#bodyObject

Returns:

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/llm/transport/response.rb', line 38

def body
  raise NotImplementedError
end

#body=(value) ⇒ Object

Parameters:

Returns:

Raises:

  • (NotImplementedError)


45
46
47
# File 'lib/llm/transport/response.rb', line 45

def body=(value)
  raise NotImplementedError
end

#codeString

Returns:

  • (String)

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/llm/transport/response.rb', line 32

def code
  raise NotImplementedError
end

#forbidden?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


90
91
92
# File 'lib/llm/transport/response.rb', line 90

def forbidden?
  raise NotImplementedError
end

#not_found?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


96
97
98
# File 'lib/llm/transport/response.rb', line 96

def not_found?
  raise NotImplementedError
end

#ok?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


72
73
74
# File 'lib/llm/transport/response.rb', line 72

def ok?
  raise NotImplementedError
end

#rate_limited?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


102
103
104
# File 'lib/llm/transport/response.rb', line 102

def rate_limited?
  raise NotImplementedError
end

#read_body(dest = nil) {|chunk| ... } ⇒ void

This method returns an undefined value.

Parameters:

  • dest (Object, nil) (defaults to: nil)

Yield Parameters:

  • chunk (String)

Raises:

  • (NotImplementedError)


60
61
62
# File 'lib/llm/transport/response.rb', line 60

def read_body(dest = nil, &)
  raise NotImplementedError
end

#server_error?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


108
109
110
# File 'lib/llm/transport/response.rb', line 108

def server_error?
  raise NotImplementedError
end

#success?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


66
67
68
# File 'lib/llm/transport/response.rb', line 66

def success?
  raise NotImplementedError
end

#unauthorized?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


84
85
86
# File 'lib/llm/transport/response.rb', line 84

def unauthorized?
  raise NotImplementedError
end