Class: ArrowFlight::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/arrow-flight/client.rb

Instance Method Summary collapse

Instance Method Details

#authenticate_basic(user, password, options = nil) ⇒ ArrowFlight::CallOptions

Authenticates by Basic authentication.

Parameters:

  • user (String)

    User name to be used.

  • password (String)

    Password to be used.

  • options (ArrowFlight::CallOptions, Hash, nil) (defaults to: nil)

    (nil) The options to be used.

Returns:

  • (ArrowFlight::CallOptions)

    The options that can be used for following calls. It includes Bearer token for @user.

    If @options is an ArrowFlight::CallOptions, the given @options is returned with Bearer token.

    If @options isn’t an ArrowFlight::CallOptions, a new ArrowFlight::CallOptions is created and it’s returned.

Since:

  • 13.0.0



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/arrow-flight/client.rb', line 37

def authenticate_basic(user, password, options=nil)
  unless options.is_a?(CallOptions)
    options = CallOptions.try_convert(options)
  end
  options ||= CallOptions.new
  _success, bearer_name, bearer_value =
    authenticate_basic_token(user, password, options)
  invalid_bearer = (bearer_name.empty? or bearer_value.empty?)
  unless invalid_bearer
    options.add_header(bearer_name, bearer_value)
  end
  options
end

#do_put(descriptor, schema, options = nil) {|writer, reader| ... } ⇒ Array<GArrowFlight::MetadataReader, GArrowFlight::StreamWriter>, Object

Upload data to a Flight described by the given descriptor. The caller must call ‘#close` on the returned stream once they are done writing. Note that it’s automatically done when you use block.

The reader and writer are linked; closing the writer will also close the reader. Use GArrowFlight::StreamWriter#done_writing to only close the write side of the channel.

Parameters:

  • descriptor (GArrowFlight::Descriptor)

    Descriptor to be uploaded.

  • schema (GArrow::Schema)

    Schema of uploaded data.

  • options (ArrowFlight::CallOptions, Hash, nil) (defaults to: nil)

    (nil) The options to be used.

Yield Parameters:

  • writer (GArrowFlight::StreamWriter)

    The writer to upload data to the given descriptor.

    This is closed automatically after the given block is finished.

  • reader (GArrowFlight::MetadataReader)

    The reader to read metadata from the server.

Returns:

  • (Array<GArrowFlight::MetadataReader, GArrowFlight::StreamWriter>, Object)

    The reader and the writer if block isn’t given.

    The return value from block if block is given.

Since:

  • 18.0.0



80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/arrow-flight/client.rb', line 80

def do_put(descriptor, schema, options=nil)
  result = do_put_raw(descriptor, schema, options)
  reader = result.reader
  writer = result.writer
  if block_given?
    begin
      yield(reader, writer)
    ensure
      writer.close unless writer.closed?
    end
  else
    return reader, writer
  end
end

#do_put_rawObject



51
# File 'lib/arrow-flight/client.rb', line 51

alias_method :do_put_raw, :do_put