Class: A2A::Protocol::HttpJson::Transport
- Inherits:
-
Object
- Object
- A2A::Protocol::HttpJson::Transport
- Defined in:
- lib/a2a/protocol/http_json/transport.rb
Instance Method Summary collapse
- #delete(url, headers:) ⇒ Object
- #get(url, query:, headers:) ⇒ Object
- #post(url, body:, headers:) ⇒ Object
- #stream(url, headers:, method: :post, body: {}, query: {}, &block) ⇒ Object
Instance Method Details
#delete(url, headers:) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/a2a/protocol/http_json/transport.rb', line 31 def delete(url, headers:) uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = uri.scheme == "https" response = http.request(Net::HTTP::Delete.new(uri.request_uri, headers)) handle_delete_response(response) end |
#get(url, query:, headers:) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/a2a/protocol/http_json/transport.rb', line 11 def get(url, query:, headers:) uri = URI.parse(url) uri.query = URI.encode_www_form(query) unless query.empty? http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = uri.scheme == "https" request = Net::HTTP::Get.new(uri.request_uri, headers) response = http.request(request) handle_response(response) end |
#post(url, body:, headers:) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/a2a/protocol/http_json/transport.rb', line 21 def post(url, body:, headers:) uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = uri.scheme == "https" request = Net::HTTP::Post.new(uri.request_uri, headers) request.body = JSON.generate(body) response = http.request(request) handle_response(response) end |
#stream(url, headers:, method: :post, body: {}, query: {}, &block) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/a2a/protocol/http_json/transport.rb', line 39 def stream(url, headers:, method: :post, body: {}, query: {}, &block) uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = uri.scheme == "https" http.request(build_stream_request(uri, method, headers, body, query), &block) end |