Class: LLM::Transport::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/llm/transport/response.rb,
lib/llm/transport/response/curb.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

Curb, HTTP

Defined Under Namespace

Classes: Curb, HTTP

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

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

Parameters:

Returns:



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

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)


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

def [](key)
  raise NotImplementedError
end

#bad_request?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def bad_request?
  raise NotImplementedError
end

#bodyObject

Returns:

Raises:

  • (NotImplementedError)


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

def body
  raise NotImplementedError
end

#body=(value) ⇒ Object

Parameters:

Returns:

Raises:

  • (NotImplementedError)


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

def body=(value)
  raise NotImplementedError
end

#codeString

Returns:

  • (String)

Raises:

  • (NotImplementedError)


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

def code
  raise NotImplementedError
end

#forbidden?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def forbidden?
  raise NotImplementedError
end

#not_found?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def not_found?
  raise NotImplementedError
end

#ok?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def ok?
  raise NotImplementedError
end

#rate_limited?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

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)


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

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

#server_error?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def server_error?
  raise NotImplementedError
end

#success?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def success?
  raise NotImplementedError
end

#unauthorized?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

def unauthorized?
  raise NotImplementedError
end