diff --git a/tests/wpt/web-platform-tests/websockets/handlers/echo_wsh.py b/tests/wpt/web-platform-tests/websockets/handlers/echo_wsh.py index 5829c2f8c185..41bcd169422c 100755 --- a/tests/wpt/web-platform-tests/websockets/handlers/echo_wsh.py +++ b/tests/wpt/web-platform-tests/websockets/handlers/echo_wsh.py @@ -1,5 +1,6 @@ #!/usr/bin/python from mod_pywebsocket import msgutil +from mod_pywebsocket import common _GOODBYE_MESSAGE = u'Goodbye' @@ -23,3 +24,13 @@ def web_socket_transfer_data(request): else: request.ws_stream.send_message(line, binary=True) +def web_socket_passive_closing_handshake(request): + # Echo close status code and reason + code, reason = request.ws_close_code, request.ws_close_reason + + # No status received is a reserved pseudo code representing an empty code, + # so echo back an empty code in this case. + if code == common.STATUS_NO_STATUS_RECEIVED: + code = None + + return code, reason