mirror of
https://github.com/lloeki/minimal-rack/
synced 2025-12-06 05:04:40 +01:00
Make apps uniform
This commit is contained in:
parent
de989153e4
commit
cfba5211d0
6 changed files with 127 additions and 13 deletions
31
sinatra.rb
Normal file → Executable file
31
sinatra.rb
Normal file → Executable file
|
|
@ -1,3 +1,5 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
begin
|
||||
require "bundler/inline"
|
||||
rescue LoadError => e
|
||||
|
|
@ -21,15 +23,17 @@ end.tap do |m|
|
|||
end.first
|
||||
server = ARGV[1] || 'thin'
|
||||
|
||||
gems = match.fetch('gem', {})
|
||||
gemfile(true) do
|
||||
source "https://rubygems.org"
|
||||
|
||||
ruby match['ruby'] if match['ruby']
|
||||
|
||||
gem 'sinatra', "~> #{version}.0"
|
||||
gem server
|
||||
gem server unless gems.key?(server)
|
||||
gem 'ddtrace'
|
||||
|
||||
match.fetch('gem', []).each do |name, requirement|
|
||||
gems.each do |name, requirement|
|
||||
gem name, requirement
|
||||
end
|
||||
end
|
||||
|
|
@ -37,11 +41,30 @@ end
|
|||
require 'sinatra/base'
|
||||
require 'json'
|
||||
|
||||
require 'ddtrace'
|
||||
Datadog.configure do |c|
|
||||
c.diagnostics.debug = true
|
||||
|
||||
c.telemetry.enabled = true
|
||||
|
||||
c.remote.enabled = true
|
||||
|
||||
c.tracing.enabled = true
|
||||
c.tracing.instrument :rack, service_name: 'minimal-rack'
|
||||
c.tracing.instrument :sinatra, service_name: 'minimal-sinatra'
|
||||
|
||||
c.appsec.enabled = true
|
||||
c.appsec.instrument :rack
|
||||
c.appsec.instrument :sinatra
|
||||
end
|
||||
|
||||
class App < Sinatra::Base
|
||||
get '/hello/world' do
|
||||
use Datadog::Tracing::Contrib::Rack::TraceMiddleware
|
||||
|
||||
get '/hello/:id' do
|
||||
status 200
|
||||
content_type :json
|
||||
body JSON.dump({ hello: :world })
|
||||
body JSON.dump({ hello: params[:id] || 'world' })
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue