diff --git a/libraries/app/application.cpp b/libraries/app/application.cpp index d71f3867..6ab43885 100644 --- a/libraries/app/application.cpp +++ b/libraries/app/application.cpp @@ -180,7 +180,9 @@ namespace detail { if( !_options->count("rpc-endpoint") ) return; - _websocket_server = std::make_shared(); + bool enable_deflate_compression = _options->count("disable-permessage-deflate") == 0; + + _websocket_server = std::make_shared(enable_deflate_compression); _websocket_server->on_connection([&]( const fc::http::websocket_connection_ptr& c ){ auto wsc = std::make_shared(*c); @@ -207,7 +209,8 @@ namespace detail { } string password = _options->count("server-pem-password") ? _options->at("server-pem-password").as() : ""; - _websocket_tls_server = std::make_shared( _options->at("server-pem").as(), password ); + bool enable_deflate_compression = _options->count("disable-permessage-deflate") == 0; + _websocket_tls_server = std::make_shared( _options->at("server-pem").as(), password, enable_deflate_compression ); _websocket_tls_server->on_connection([&]( const fc::http::websocket_connection_ptr& c ){ auto wsc = std::make_shared(*c); @@ -900,6 +903,8 @@ void application::set_program_options(boost::program_options::options_descriptio ("checkpoint,c", bpo::value>()->composing(), "Pairs of [BLOCK_NUM,BLOCK_ID] that should be enforced as checkpoints.") ("rpc-endpoint", bpo::value()->implicit_value("127.0.0.1:8090"), "Endpoint for websocket RPC to listen on") ("rpc-tls-endpoint", bpo::value()->implicit_value("127.0.0.1:8089"), "Endpoint for TLS websocket RPC to listen on") + ("disable-permessage-deflate", "Disable support for per-message deflate compression in the websocket servers " + "(--rpc-endpoint and --rpc-tls-endpoint), enabled by default") ("server-pem,p", bpo::value()->implicit_value("server.pem"), "The TLS certificate file for this server") ("server-pem-password,P", bpo::value()->implicit_value(""), "Password for this certificate") ("genesis-json", bpo::value(), "File to read Genesis State from") diff --git a/libraries/fc b/libraries/fc index 38419164..21045dde 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit 38419164b6f1ade468bf4b1d27929b3ac2503b6e +Subproject commit 21045dde5faa8fcf5f43b97c85f9df210317633b