Пример #1
0
 def setUp(self):
     self.factory = WebSocketServerFactory()
     self.factory.setProtocolOptions(trustXForwardedFor=2)
     self.proto = WebSocketServerProtocol()
     self.proto.transport = StringTransport()
     self.proto.factory = self.factory
     self.proto.failHandshake = Mock()
     self.proto._connectionMade()
Пример #2
0
 def setUp(self):
     self.factory = WebSocketServerFactory()
     self.factory.setProtocolOptions(
         allowedOrigins=[u'127.0.0.1:*', u'*.example.com:*'])
     self.proto = WebSocketServerProtocol()
     self.proto.transport = StringTransport()
     self.proto.factory = self.factory
     self.proto.failHandshake = Mock()
     self.proto._connectionMade()
Пример #3
0
    def test_handshake_fails(self):
        """
        A handshake from a client only supporting Hixie-76 will fail.
        """
        t = FakeTransport()
        f = WebSocketServerFactory()
        p = WebSocketServerProtocol()
        p.factory = f
        p.transport = t

        # from http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76
        http_request = b"GET /demo HTTP/1.1\r\nHost: example.com\r\nConnection: Upgrade\r\nSec-WebSocket-Key2: 12998 5 Y3 1  .P00\r\nSec-WebSocket-Protocol: sample\r\nUpgrade: WebSocket\r\nSec-WebSocket-Key1: 4 @1  46546xW%0l 1 5\r\nOrigin: http://example.com\r\n\r\n^n:ds[4U"

        p.openHandshakeTimeout = 0
        p._connectionMade()
        p.data = http_request
        p.processHandshake()
        self.assertIn(b"HTTP/1.1 400", t._written)
        self.assertIn(b"Hixie76 protocol not supported", t._written)
Пример #4
0
 def setUp(self):
     self.factory = WebSocketServerFactory()
     self.proto = WebSocketServerProtocol()
     self.proto.factory = self.factory
     self.proto.log = Mock()