Sha256: 6f1441ef9280e1b5752ea22de3ebfcf22fb8ccc73eccf679a2dcb3bf26ce8977

Contents?: true

Size: 814 Bytes

Versions: 10

Compression:

Stored size: 814 Bytes

Contents

module Prefab
  class AuthInterceptor < GRPC::ClientInterceptor
    def initialize(api_key)
      version = File.exist?('VERSION') ? File.read('VERSION').chomp : ""
      @client = "prefab-cloud-ruby.#{version}".freeze
      @api_key = api_key
    end

    def request_response(request:, call:, method:, metadata:, &block)
      shared(metadata, &block)
    end

    def client_streamer(requests:, call:, method:, metadata:, &block)
      shared(metadata, &block)
    end

    def server_streamer(request:, call:, method:, metadata:, &block)
      shared(metadata, &block)
    end

    def bidi_streamer(requests:, call:, method:, metadata:, &block)
      shared(metadata, &block)
    end

    def shared(metadata)
      metadata['auth'] = @api_key
      metadata['client'] = @client
      yield
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
prefab-cloud-ruby-0.13.1 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.12.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.11.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.10.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.9.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.8.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.7.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.6.0 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.5.1 lib/prefab/auth_interceptor.rb
prefab-cloud-ruby-0.5.0 lib/prefab/auth_interceptor.rb