diff --git a/libraries/app/application.cpp b/libraries/app/application.cpp index 9a22ca70..fe66b3d9 100644 --- a/libraries/app/application.cpp +++ b/libraries/app/application.cpp @@ -226,7 +226,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); @@ -253,7 +255,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); @@ -947,6 +950,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 d5370fc2..21045dde 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit d5370fc2ea436fa4340cda01af98c7993fbc67d5 +Subproject commit 21045dde5faa8fcf5f43b97c85f9df210317633b