Sha256: 4dcf9706128761b59f97a2bf819371e6f80e89167de73a8ba9ccd0a38d70cf78
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true module FastlyNsq class TlsOptions ## # Return hash of TLS options for creating an NSQ connection. # @param context [Hash] def self.as_hash(context = nil) new(context).to_h end def initialize(context = nil) @context = context || {} end def to_h merge_contexts if @context.empty? {} else { tls_v1: true, tls_options: @context } end end private def env_key ENV.fetch("NSQ_SSL_KEY", nil) end def env_certificate ENV.fetch("NSQ_SSL_CERTIFICATE", nil) end def env_ca_certificate ENV.fetch("NSQ_SSL_CA_CERTIFICATE", nil) end def verify_mode ENV.fetch("NSQ_SSL_VERIFY_MODE", nil) end def env_default_hash { key: env_key, certificate: env_certificate, ca_certificate: env_ca_certificate, verify_mode: verify_mode } end def merge_contexts @context = env_default_hash.merge(@context).delete_if { |_, v| v.nil? } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fastly_nsq-1.18.1 | lib/fastly_nsq/tls_options.rb |
fastly_nsq-1.18.0 | lib/fastly_nsq/tls_options.rb |
fastly_nsq-1.17.1 | lib/fastly_nsq/tls_options.rb |