1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 23:59:59 -05:00

fix: increase websocket message size (#15406)

This commit is contained in:
Leo Kettmeir 2022-08-04 18:29:04 +02:00 committed by GitHub
parent 8f102e49c1
commit e1297b1a28
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -40,12 +40,13 @@ use tokio::net::TcpStream;
use tokio_rustls::rustls::RootCertStore; use tokio_rustls::rustls::RootCertStore;
use tokio_rustls::rustls::ServerName; use tokio_rustls::rustls::ServerName;
use tokio_rustls::TlsConnector; use tokio_rustls::TlsConnector;
use tokio_tungstenite::client_async; use tokio_tungstenite::client_async_with_config;
use tokio_tungstenite::tungstenite::handshake::client::Response; use tokio_tungstenite::tungstenite::handshake::client::Response;
use tokio_tungstenite::tungstenite::protocol::frame::coding::CloseCode; use tokio_tungstenite::tungstenite::protocol::frame::coding::CloseCode;
use tokio_tungstenite::tungstenite::protocol::CloseFrame; use tokio_tungstenite::tungstenite::protocol::CloseFrame;
use tokio_tungstenite::tungstenite::protocol::Message; use tokio_tungstenite::tungstenite::protocol::Message;
use tokio_tungstenite::tungstenite::protocol::Role; use tokio_tungstenite::tungstenite::protocol::Role;
use tokio_tungstenite::tungstenite::protocol::WebSocketConfig;
use tokio_tungstenite::MaybeTlsStream; use tokio_tungstenite::MaybeTlsStream;
use tokio_tungstenite::WebSocketStream; use tokio_tungstenite::WebSocketStream;
@ -84,8 +85,16 @@ pub async fn ws_create_server_stream(
state: &Rc<RefCell<OpState>>, state: &Rc<RefCell<OpState>>,
transport: hyper::upgrade::Upgraded, transport: hyper::upgrade::Upgraded,
) -> Result<ResourceId, AnyError> { ) -> Result<ResourceId, AnyError> {
let ws_stream = let ws_stream = WebSocketStream::from_raw_socket(
WebSocketStream::from_raw_socket(transport, Role::Server, None).await; transport,
Role::Server,
Some(WebSocketConfig {
max_message_size: Some(128 << 20),
max_frame_size: Some(32 << 20),
..Default::default()
}),
)
.await;
let (ws_tx, ws_rx) = ws_stream.split(); let (ws_tx, ws_rx) = ws_stream.split();
let ws_resource = WsStreamResource { let ws_resource = WsStreamResource {
@ -322,7 +331,15 @@ where
_ => unreachable!(), _ => unreachable!(),
}; };
let client = client_async(request, socket); let client = client_async_with_config(
request,
socket,
Some(WebSocketConfig {
max_message_size: Some(128 << 20),
max_frame_size: Some(32 << 20),
..Default::default()
}),
);
let (stream, response): (WsStream, Response) = let (stream, response): (WsStream, Response) =
if let Some(cancel_resource) = cancel_resource { if let Some(cancel_resource) = cancel_resource {
client.or_cancel(cancel_resource.0.to_owned()).await? client.or_cancel(cancel_resource.0.to_owned()).await?