class Mongo::Crypt::KmsContext
Wraps a libmongocrypt mongocrypt_kms_ctx_t object. Contains information about making an HTTP request to fetch information about a KMS
data key.
Attributes
Return the pointer to the underlying mongocrypt_kms_ctx_t object.
@return [ FFI::Pointer ] A pointer to a mongocrypt_kms_ctx_t object.
Public Class Methods
Create a new KmsContext
object.
@param [ FFI::Pointer ] kms_ctx A pointer to a mongocrypt_kms_ctx_t
object. This object is managed by the mongocrypt_ctx_t object that created it; this class is not responsible for de-allocating resources.
# File lib/mongo/crypt/kms_context.rb, line 30 def initialize(kms_ctx) @kms_ctx_p = kms_ctx end
Public Instance Methods
Return the number of bytes still needed by libmongocrypt to complete the request for information about the AWS data key.
@return [ Integer ] The number of bytes needed.
# File lib/mongo/crypt/kms_context.rb, line 58 def bytes_needed Binding.kms_ctx_bytes_needed(self) end
Return the endpoint at which to make the HTTP request.
@return [ String ] The endpoint.
# File lib/mongo/crypt/kms_context.rb, line 42 def endpoint Binding.kms_ctx_endpoint(self) end
Feed a response from the HTTP request to libmongocrypt.
@param [ String ] data Data to feed to libmongocrypt.
# File lib/mongo/crypt/kms_context.rb, line 65 def feed(data) Binding.kms_ctx_feed(self, data) end
Return the HTTP message to send to fetch information about the relevant KMS
data key.
@return [ String ] The HTTP message.
# File lib/mongo/crypt/kms_context.rb, line 50 def message Binding.kms_ctx_message(self) end