コード例 #1
0
    def open(cls,
             profile,
             user_agent=None,
             on_bind=None,
             on_unbind=None,
             on_release=None):
        """ Open a Bolt connection to a server.

        :param profile: :class:`.ConnectionProfile` detailing how and
            where to connect
        :param user_agent:
        :param on_bind:
        :param on_unbind:
        :param on_release:
        """
        wire = cls._connect(profile)
        protocol_version = cls._handshake(wire)
        subclass = cls._get_subclass(protocol_version)
        if subclass is None:
            raise RuntimeError("Unable to agree supported protocol version")
        bolt = subclass(wire,
                        profile, (user_agent or bolt_user_agent()),
                        on_bind=on_bind,
                        on_unbind=on_unbind,
                        on_release=on_release)
        bolt.__local_port = wire.local_address.port_number
        bolt._hello()
        return bolt
コード例 #2
0
    def open(cls, profile, user_agent=None, on_bind=None, on_unbind=None,
             on_release=None, on_broken=None):
        """ Open a Bolt connection to a server.

        :param profile: :class:`.ConnectionProfile` detailing how and
            where to connect
        :param user_agent:
        :param on_bind:
        :param on_unbind:
        :param on_release:
        :param on_broken:
        :returns: :class:`.Bolt` connection object
        :raises: :class:`.ConnectionUnavailable` if a connection cannot
            be opened, or a protocol version cannot be agreed
        """
        try:
            wire = cls._connect(profile, on_broken=on_broken)
            protocol_version = cls._handshake(wire)
            subclass = cls._get_subclass(protocol_version)
            if subclass is None:
                raise BoltProtocolError("Unable to agree supported protocol version")
            bolt = subclass(wire, profile, (user_agent or bolt_user_agent()),
                            on_bind=on_bind, on_unbind=on_unbind, on_release=on_release)
            bolt.__local_port = wire.local_address.port_number
            bolt._hello()
            return bolt
        except (BoltProtocolError, WireError) as error:
            raise_from(ConnectionUnavailable("Cannot open connection to %r" % profile), error)
コード例 #3
0
def test_bolt_user_agent():
    agent = bolt_user_agent()
    assert agent.startswith("py2neo")