class Datadog::Transport::HTTP::Adapters::Net
Adapter for Net::HTTP
Constants
- DEFAULT_TIMEOUT
Attributes
hostname[R]
port[R]
timeout[R]
Public Class Methods
new(hostname, port, options = {})
click to toggle source
# File lib/ddtrace/transport/http/adapters/net.rb, line 16 def initialize(hostname, port, options = {}) @hostname = hostname @port = port @timeout = options[:timeout] || DEFAULT_TIMEOUT end
Public Instance Methods
call(env)
click to toggle source
# File lib/ddtrace/transport/http/adapters/net.rb, line 29 def call(env) if respond_to?(env.verb) send(env.verb, env) else raise UnknownHTTPMethod, env end end
open() { |http| ... }
click to toggle source
# File lib/ddtrace/transport/http/adapters/net.rb, line 22 def open # Open connection ::Net::HTTP.start(hostname, port, open_timeout: timeout, read_timeout: timeout) do |http| yield(http) end end
post(env)
click to toggle source
# File lib/ddtrace/transport/http/adapters/net.rb, line 37 def post(env) post = ::Net::HTTP::Post.new(env.path, env.headers) post.body = env.body # Connect and send the request http_response = open do |http| http.request(post) end # Build and return response Response.new(http_response) end
url()
click to toggle source
# File lib/ddtrace/transport/http/adapters/net.rb, line 50 def url "http://#{hostname}:#{port}?timeout=#{timeout}" end