class Curl::Easy

Attributes

_nr_header_str[RW]
_nr_http_verb[RW]
_nr_instrumented[RW]
_nr_original_on_complete[RW]
_nr_original_on_header[RW]
_nr_serial[RW]

Public Instance Methods

header_str()
Also aliased as: header_str_without_mmtrix
header_str_with_mmtrix() click to toggle source

We override this method in order to ensure access to header_str even though we use an on_header callback

# File lib/mmtrix/agent/instrumentation/curb.rb, line 76
def header_str_with_mmtrix
  if self._nr_serial
    self._nr_header_str
  else
    # Since we didn't install a header callback for a non-serial request,
    # just fall back to the original implementation.
    header_str_without_mmtrix
  end
end
Also aliased as: header_str
header_str_without_mmtrix()
Alias for: header_str
http( verb )
Also aliased as: http_without_mmtrix
Alias for: http_with_mmtrix
http_head(*args, &blk)
Also aliased as: http_head_without_mmtrix
http_head_with_mmtrix(*args, &blk) click to toggle source

We have to hook these three methods separately, as they don’t use Curl::Easy#http

# File lib/mmtrix/agent/instrumentation/curb.rb, line 33
def http_head_with_mmtrix(*args, &blk)
  self._nr_http_verb = :HEAD
  http_head_without_mmtrix(*args, &blk)
end
Also aliased as: http_head
http_head_without_mmtrix(*args, &blk)
Alias for: http_head
http_post(*args, &blk)
Also aliased as: http_post_without_mmtrix
http_post_with_mmtrix(*args, &blk) click to toggle source
# File lib/mmtrix/agent/instrumentation/curb.rb, line 40
def http_post_with_mmtrix(*args, &blk)
  self._nr_http_verb = :POST
  http_post_without_mmtrix(*args, &blk)
end
Also aliased as: http_post
http_post_without_mmtrix(*args, &blk)
Alias for: http_post
http_put(*args, &blk)
Also aliased as: http_put_without_mmtrix
http_put_with_mmtrix(*args, &blk) click to toggle source
# File lib/mmtrix/agent/instrumentation/curb.rb, line 47
def http_put_with_mmtrix(*args, &blk)
  self._nr_http_verb = :PUT
  http_put_without_mmtrix(*args, &blk)
end
Also aliased as: http_put
http_put_without_mmtrix(*args, &blk)
Alias for: http_put
http_with_mmtrix( verb ) click to toggle source

Hook the http method to set the verb.

# File lib/mmtrix/agent/instrumentation/curb.rb, line 56
def http_with_mmtrix( verb )
  self._nr_http_verb = verb.to_s.upcase
  http_without_mmtrix( verb )
end
Also aliased as: http
http_without_mmtrix( verb )
Alias for: http
perform()
Also aliased as: perform_without_mmtrix
Alias for: perform_with_mmtrix
perform_with_mmtrix() click to toggle source

Hook the perform method to mark the request as non-parallel.

# File lib/mmtrix/agent/instrumentation/curb.rb, line 66
def perform_with_mmtrix
  self._nr_serial = true
  perform_without_mmtrix
end
Also aliased as: perform
perform_without_mmtrix()
Alias for: perform