compatibility websocket server / add non ssl echo_server which does not run into the ssl error (#140)
This commit is contained in:
parent
4cb3326078
commit
a8ff91ac3c
@ -1,6 +1,9 @@
|
|||||||
FROM python:3.8.0-alpine3.10
|
FROM python:3.8.0-alpine3.10
|
||||||
|
|
||||||
RUN pip install websockets
|
RUN pip install websockets
|
||||||
|
|
||||||
|
COPY vendor/protocol.py /usr/local/lib/python3.8/site-packages/websockets/protocol.py
|
||||||
|
|
||||||
COPY *.py /usr/bin/
|
COPY *.py /usr/bin/
|
||||||
COPY entrypoint.sh /usr/bin/
|
COPY entrypoint.sh /usr/bin/
|
||||||
RUN chmod +x /usr/bin/*.py
|
RUN chmod +x /usr/bin/*.py
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# WS server example
|
# WS server example
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import os
|
||||||
import websockets
|
import websockets
|
||||||
|
|
||||||
|
|
||||||
@ -11,9 +12,10 @@ async def echo(websocket, path):
|
|||||||
print(f'Received {len(msg)} bytes')
|
print(f'Received {len(msg)} bytes')
|
||||||
await websocket.send(msg)
|
await websocket.send(msg)
|
||||||
|
|
||||||
|
host = os.getenv('BIND_HOST', 'localhost')
|
||||||
|
print(f'Serving on {host}:8766')
|
||||||
|
|
||||||
print('Serving on localhost:8766')
|
start_server = websockets.serve(echo, host, 8766, max_size=2 ** 30)
|
||||||
start_server = websockets.serve(echo, 'localhost', 8766, max_size=2 ** 25)
|
|
||||||
|
|
||||||
asyncio.get_event_loop().run_until_complete(start_server)
|
asyncio.get_event_loop().run_until_complete(start_server)
|
||||||
asyncio.get_event_loop().run_forever()
|
asyncio.get_event_loop().run_forever()
|
||||||
|
@ -18,8 +18,9 @@ ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
|
|||||||
ssl_context.load_cert_chain('trusted-server-crt.pem',
|
ssl_context.load_cert_chain('trusted-server-crt.pem',
|
||||||
'trusted-server-key.pem')
|
'trusted-server-key.pem')
|
||||||
|
|
||||||
print('Serving on localhost:8766')
|
|
||||||
host = os.getenv('BIND_HOST', 'localhost')
|
host = os.getenv('BIND_HOST', 'localhost')
|
||||||
|
print(f'Serving on {host}:8766')
|
||||||
|
|
||||||
start_server = websockets.serve(echo, host, 8766, max_size=2 ** 30, ssl=ssl_context)
|
start_server = websockets.serve(echo, host, 8766, max_size=2 ** 30, ssl=ssl_context)
|
||||||
|
|
||||||
asyncio.get_event_loop().run_until_complete(start_server)
|
asyncio.get_event_loop().run_until_complete(start_server)
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
case $MODE in
|
case $MODE in
|
||||||
echo_server)
|
echo_server)
|
||||||
./echo_server.py
|
python /usr/bin/echo_server.py
|
||||||
;;
|
;;
|
||||||
ssl)
|
echo_server_ssl)
|
||||||
python /usr/bin/echo_server_ssl.py
|
python /usr/bin/echo_server_ssl.py
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -22,5 +22,8 @@ docker_push:
|
|||||||
docker push ${LATEST}
|
docker push ${LATEST}
|
||||||
docker push ${IMG}
|
docker push ${IMG}
|
||||||
|
|
||||||
ssl_server:
|
server:
|
||||||
docker run -p 8766:8766 -e BIND_HOST=0.0.0.0 -e MODE=ssl -it --rm bsergean/echo_server:build
|
docker run -p 8766:8766 -e BIND_HOST=0.0.0.0 -e MODE=echo_server -it --rm bsergean/echo_server:build
|
||||||
|
|
||||||
|
server_ssl:
|
||||||
|
docker run -p 8766:8766 -e BIND_HOST=0.0.0.0 -e MODE=echo_server_ssl -it --rm bsergean/echo_server:build
|
||||||
|
1432
test/compatibility/python/websockets/vendor/protocol.py
vendored
Normal file
1432
test/compatibility/python/websockets/vendor/protocol.py
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user