Sha256: 4c60497e5aaf40ab4671248f5691fea65dd346a1c6b262f2e3df2f168ffbf9dd

Contents?: true

Size: 761 Bytes

Versions: 14

Compression:

Stored size: 761 Bytes

Contents

# frozen_string_literal: true

module Orchestration
  module Services
    module App
      class Healthcheck
        include HealthcheckBase

        def connect
          response = Net::HTTP.get_response(
            URI("http://localhost:#{@configuration.local_port}")
          )
          connection_error(response.code) if connection_error?(response.code)
        end

        def connection_errors
          [Errno::ECONNREFUSED, AppConnectionError]
        end

        private

        def connection_error(code)
          raise AppConnectionError,
                I18n.t('orchestration.app.connection_error', code: code)
        end

        def connection_error?(code)
          %w[502 503 500].include?(code)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
orchestration-0.3.17 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.16 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.15 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.14 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.13 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.12 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.11 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.10 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.9 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.8 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.7 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.6 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.5 lib/orchestration/services/app/healthcheck.rb
orchestration-0.3.4 lib/orchestration/services/app/healthcheck.rb