diff --git a/CHANGELOG.md b/CHANGELOG.md
index 23f1612e..6e7b8a5d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,7 +10,8 @@
API Changes:
-* Refactor WebSocket error codes (API Change)
+* Refactor WebSocket error codes
+* Remove websocket::keep_alive option
--------------------------------------------------------------------------------
diff --git a/doc/quickref.xml b/doc/quickref.xml
index e81e0eb5..208c3889 100644
--- a/doc/quickref.xml
+++ b/doc/quickref.xml
@@ -113,7 +113,6 @@
Options
auto_fragment
- keep_alive
message_type
permessage_deflate
ping_callback
diff --git a/include/beast/websocket/detail/stream_base.hpp b/include/beast/websocket/detail/stream_base.hpp
index 1fa45d55..bde7eda7 100644
--- a/include/beast/websocket/detail/stream_base.hpp
+++ b/include/beast/websocket/detail/stream_base.hpp
@@ -49,7 +49,6 @@ protected:
struct op {};
detail::maskgen maskgen_; // source of mask keys
- bool keep_alive_ = false; // close on failed upgrade
std::size_t rd_msg_max_ =
16 * 1024 * 1024; // max message size
bool wr_autofrag_ = true; // auto fragment
diff --git a/include/beast/websocket/impl/stream.ipp b/include/beast/websocket/impl/stream.ipp
index 3470c5db..135248e8 100644
--- a/include/beast/websocket/impl/stream.ipp
+++ b/include/beast/websocket/impl/stream.ipp
@@ -218,10 +218,7 @@ build_response(request_type const& req,
res.reason = http::reason_string(res.status);
res.version = req.version;
res.body = text;
- prepare(res,
- (is_keep_alive(req) && keep_alive_) ?
- http::connection::keep_alive :
- http::connection::close);
+ prepare(res);
decorate(res);
return res;
};
@@ -252,10 +249,7 @@ build_response(request_type const& req,
res.reason = http::reason_string(res.status);
res.version = req.version;
res.fields.insert("Sec-WebSocket-Version", "13");
- prepare(res,
- (is_keep_alive(req) && keep_alive_) ?
- http::connection::keep_alive :
- http::connection::close);
+ prepare(res);
decorate(res);
return res;
}
diff --git a/include/beast/websocket/option.hpp b/include/beast/websocket/option.hpp
index feba8912..6b265e4d 100644
--- a/include/beast/websocket/option.hpp
+++ b/include/beast/websocket/option.hpp
@@ -58,45 +58,6 @@ struct auto_fragment
};
#endif
-/** Keep-alive option.
-
- Determines if the connection is closed after a failed upgrade
- request.
-
- This setting only affects the behavior of HTTP requests that
- implicitly or explicitly ask for a keepalive. For HTTP requests
- that indicate the connection should be closed, the connection is
- closed as per rfc7230.
-
- The default setting is to close connections after a failed
- upgrade request.
-
- @note Objects of this type are used with
- @ref beast::websocket::stream::set_option.
-
- @par Example
- Setting the keep alive option.
- @code
- ...
- websocket::stream ws(ios);
- ws.set_option(keep_alive{8192});
- @endcode
-*/
-#if BEAST_DOXYGEN
-using keep_alive = implementation_defined;
-#else
-struct keep_alive
-{
- bool value;
-
- explicit
- keep_alive(bool v)
- : value(v)
- {
- }
-};
-#endif
-
/** Message type option.
This controls the opcode set for outgoing messages. Valid
diff --git a/include/beast/websocket/stream.hpp b/include/beast/websocket/stream.hpp
index c415563f..74b2e184 100644
--- a/include/beast/websocket/stream.hpp
+++ b/include/beast/websocket/stream.hpp
@@ -185,13 +185,6 @@ public:
wr_autofrag_ = o.value;
}
- /// Set the keep-alive option
- void
- set_option(keep_alive const& o)
- {
- keep_alive_ = o.value;
- }
-
/// Set the outgoing message type
void
set_option(message_type const& o)
diff --git a/test/websocket/stream.cpp b/test/websocket/stream.cpp
index 2bdbf33c..3da3d28d 100644
--- a/test/websocket/stream.cpp
+++ b/test/websocket/stream.cpp
@@ -541,7 +541,6 @@ public:
{
stream ws(ios_);
ws.set_option(auto_fragment{true});
- ws.set_option(keep_alive{false});
ws.set_option(write_buffer_size{2048});
ws.set_option(message_type{opcode::text});
ws.set_option(read_buffer_size{8192});
@@ -992,7 +991,6 @@ public:
{
stream ws(ios_,
s.substr(i, s.size() - i));
- ws.set_option(keep_alive{true});
try
{
ws.accept(boost::asio::buffer(