Class: LLM::Transport::Response::HTTP

Inherits:
LLM::Transport::Response show all
Defined in:
lib/llm/transport/response/http.rb

Overview

LLM::Transport::Response::HTTP adapts a Net::HTTPResponse to the LLM::Transport::Response interface.

This is the default wrapper for responses produced by the built-in LLM::Transport::HTTP transport.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from LLM::Transport::Response

from

Constructor Details

#initialize(res) ⇒ LLM::Transport::Response::HTTP

Parameters:

  • res (Net::HTTPResponse)


19
20
21
# File 'lib/llm/transport/response/http.rb', line 19

def initialize(res)
  @res = res
end

Instance Attribute Details

#resNet::HTTPResponse (readonly)

Returns:

  • (Net::HTTPResponse)


14
15
16
# File 'lib/llm/transport/response/http.rb', line 14

def res
  @res
end

Instance Method Details

#[](key) ⇒ String?

Parameters:

  • key (String)

Returns:

  • (String, nil)


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

def [](key)
  @res[key]
end

#bad_request?Boolean

Returns:

  • (Boolean)


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

def bad_request?
  Net::HTTPBadRequest === @res
end

#bodyObject

Returns:



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

def body
  @res.body
end

#body=(value) ⇒ Object

Parameters:

Returns:



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

def body=(value)
  @res.body = value
end

#codeString

Returns:

  • (String)


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

def code
  @res.code
end

#forbidden?Boolean

Returns:

  • (Boolean)


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

def forbidden?
  Net::HTTPForbidden === @res
end

#not_found?Boolean

Returns:

  • (Boolean)


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

def not_found?
  Net::HTTPNotFound === @res
end

#ok?Boolean

Returns:

  • (Boolean)


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

def ok?
  Net::HTTPOK === @res
end

#rate_limited?Boolean

Returns:

  • (Boolean)


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

def rate_limited?
  Net::HTTPTooManyRequests === @res
end

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

This method returns an undefined value.

Parameters:

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

Yield Parameters:

  • chunk (String)


53
54
55
56
57
58
59
60
61
62
63
# File 'lib/llm/transport/response/http.rb', line 53

def read_body(dest = nil, &block)
  if dest && block
    @res.read_body(dest) { block.call(_1) }
  elsif dest
    @res.read_body(dest)
  elsif block
    @res.read_body { block.call(_1) }
  else
    @res.read_body
  end
end

#server_error?Boolean

Returns:

  • (Boolean)


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

def server_error?
  Net::HTTPServerError === @res
end

#success?Boolean

Returns:

  • (Boolean)


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

def success?
  Net::HTTPSuccess === @res
end

#unauthorized?Boolean

Returns:

  • (Boolean)


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

def unauthorized?
  Net::HTTPUnauthorized === @res
end