Sha256: f180caa1ca5bf4e7a8bd8d78ca1fc0bfecec84782aaa9f3c357ae75537cf59e0

Contents?: true

Size: 569 Bytes

Versions: 7

Compression:

Stored size: 569 Bytes

Contents

require 'vault-tools/log'

module Vault
  class Web < Sinatra::Base
    def self.route(verb, action, *)
      condition { @action = action }
      super
    end

    before do
      @start_request = Time.now
    end

    after do
      Log.count_status(response.status)
      Log.time(@action, Time.now - @start_request)
    end

    # Health check on HEAD
    head('/')      { status(200) }

    # Trigger a 500 to test live monitoring and paging
    head('/boom')  { status(500) }

    # Can do more than the head request
    get('/health') { [200, 'OK'] }
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
vault-tools-0.0.10 lib/vault-tools/web.rb
vault-tools-0.0.7 lib/vault-tools/web.rb
vault-tools-0.0.5 lib/vault-tools/web.rb
vault-tools-0.0.4 lib/vault-tools/web.rb
vault-tools-0.0.3 lib/vault-tools/web.rb
vault-tools-0.0.2 lib/vault-tools/web.rb
vault-tools-0.0.1 lib/vault-tools/web.rb