Skip to content

Commit

Permalink
fix: increase websocket message size (denoland#15406)
Browse files Browse the repository at this point in the history
  • Loading branch information
crowlKats committed Aug 4, 2022
1 parent 8f102e4 commit e1297b1
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions ext/websocket/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,13 @@ use tokio::net::TcpStream;
use tokio_rustls::rustls::RootCertStore;
use tokio_rustls::rustls::ServerName;
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::protocol::frame::coding::CloseCode;
use tokio_tungstenite::tungstenite::protocol::CloseFrame;
use tokio_tungstenite::tungstenite::protocol::Message;
use tokio_tungstenite::tungstenite::protocol::Role;
use tokio_tungstenite::tungstenite::protocol::WebSocketConfig;
use tokio_tungstenite::MaybeTlsStream;
use tokio_tungstenite::WebSocketStream;

Expand Down Expand Up @@ -84,8 +85,16 @@ pub async fn ws_create_server_stream(
state: &Rc<RefCell<OpState>>,
transport: hyper::upgrade::Upgraded,
) -> Result<ResourceId, AnyError> {
let ws_stream =
WebSocketStream::from_raw_socket(transport, Role::Server, None).await;
let ws_stream = WebSocketStream::from_raw_socket(
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_resource = WsStreamResource {
Expand Down Expand Up @@ -322,7 +331,15 @@ where
_ => 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) =
if let Some(cancel_resource) = cancel_resource {
client.or_cancel(cancel_resource.0.to_owned()).await?
Expand Down

0 comments on commit e1297b1

Please sign in to comment.