Class: Datadog::OpenFeature::Transport::HTTP::Spec

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/open_feature/transport.rb

Overview

API spec for the EVP exposures endpoint.

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Spec

Returns a new instance of Spec.



19
20
21
22
23
# File 'lib/datadog/open_feature/transport.rb', line 19

def initialize
  @endpoint = Core::Transport::HTTP::API::Endpoint.new(
    :post, "/evp_proxy/v2/api/v2/exposures"
  )
end

Instance Method Details

#call(env, &block) ⇒ Object

TODO rename to send_request?



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/datadog/open_feature/transport.rb', line 26

def call(env, &block)
  @endpoint.call(env) do |request_env|
    request_env.headers["Content-Type"] = env.request.parcel.content_type
    request_env.headers[Core::EVP::SUBDOMAIN_HEADER_NAME] =
      Core::EVP::EVENT_PLATFORM_INTAKE_SUBDOMAIN
    request_env.headers["DD-EVP-ORIGIN"] = "dd-trace-rb"
    request_env.headers["DD-EVP-ORIGIN-VERSION"] = Datadog::VERSION::STRING
    request_env.body = env.request.parcel.data

    block.call(request_env)
  end
end