1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # The purpose of this test is to verify that the WebSocket handshake correctly
6 # ignores trailing whitespace on response headers.
7 # It is used by test case WebSocketEndToEndTest.TrailingWhitespace.
9 from mod_pywebsocket
import handshake
10 from mod_pywebsocket
.handshake
.hybi
import compute_accept
13 def web_socket_do_extra_handshake(request
):
14 accept
= compute_accept(request
.headers_in
['Sec-WebSocket-Key'])[0]
15 message
= ('HTTP/1.1 101 Switching Protocols\r\n'
16 'Upgrade: websocket\r\n'
17 'Connection: Upgrade\r\n'
18 'Sec-WebSocket-Accept: %s\r\n'
19 'Sec-WebSocket-Protocol: sip \r\n'
21 request
.connection
.write(message
)
22 # Prevent pywebsocket from sending its own handshake message.
23 raise handshake
.AbortedByUserException('Close the connection')
26 def web_socket_transfer_data(request
):