Sha256: 394baeeefa77ed67ad6cea0a4bcc7bfe26b5bfbaff4b377e6482fc5989aa36ad

Contents?: true

Size: 876 Bytes

Versions: 3

Compression:

Stored size: 876 Bytes

Contents

require 'datadog_proxy'
require 'sinatra'

module DatadogProxy
  class App < Sinatra::Application
    def initialize(*args)
      super(*args)
    end

    def client
      p :hello
      @_client ||= DatadogClient.new(ENV['DATADOG_API_KEY'], ENV['DATADOG_APP_KEY'])
    end

    get '/' do
      <<-EOMD
# Datadog Proxy
## Endpoints
### GET /graphs/snapshot
#### Parameters
* query
* start: seconds since unix epoch
* end: seconds since unix epoch
* duration: seconds
      EOMD
    end

    get '/graphs/snapshot' do
      options = {}
      options[:query] = params[:query]
      options[:start] = Time.at(params[:start].to_i) if params[:start]
      options[:end] = Time.at(params[:end].to_i) if params[:end]
      options[:duration] = params[:duration].to_i if params[:duration]

      url = client.graph_snapshot_url(options)

      redirect url, 302
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
datadog_proxy-0.0.3 lib/datadog_proxy/app.rb
datadog_proxy-0.0.2 lib/datadog_proxy/app.rb
datadog_proxy-0.0.1 lib/datadog_proxy/app.rb