class ElasticAPM::ContextBuilder

def apply_to_request(context, rack_env)

rubocop:disable Metrics/AbcSize
def apply_to_request(context, rack_env)
  req = rails_req?(rack_env) ? rack_env : Rack::Request.new(rack_env)
  context.request = Context::Request.new unless context.request
  request = context.request
  request.socket = Context::Request::Socket.new(req).to_h
  request.http_version = build_http_version rack_env
  request.method = req.request_method
  request.url = Context::Request::Url.new(req).to_h
  request.headers, request.env = get_headers_and_env(rack_env)
  request.body = get_body(req)
  context
end