lib/mongo/auth/base.rb in mongo-2.17.4 vs lib/mongo/auth/base.rb in mongo-2.18.0.beta1
- old
+ new
@@ -110,11 +110,16 @@
msg = msg.maybe_add_server_api(server_api)
end
reply = connection.dispatch([msg], context)
reply_document = reply.documents.first
validate_reply!(connection, conversation, reply_document)
- result = Operation::Result.new(reply, connection.description)
+ connection_global_id = if connection.respond_to?(:global_id)
+ connection.global_id
+ else
+ nil
+ end
+ result = Operation::Result.new(reply, connection.description, connection_global_id)
connection.update_cluster_time(result)
reply_document
end
# Checks whether reply is successful (i.e. has {ok: 1} set) and
@@ -124,13 +129,15 @@
message = Error::Parser.build_message(
code: doc[:code],
code_name: doc[:codeName],
message: doc[:errmsg],
)
+
raise Unauthorized.new(user,
used_mechanism: self.class.const_get(:MECHANISM),
message: message,
server: connection.server,
+ code: doc[:code]
)
end
end
end
end