mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Added exception system for handshake errors, fixed #2 Origin header name in draft 13
This commit is contained in:
@@ -30,20 +30,21 @@
|
||||
using websocketchat::chat_handler;
|
||||
|
||||
|
||||
bool chat_handler::validate(websocketpp::session_ptr client) {
|
||||
void chat_handler::validate(websocketpp::session_ptr client) {
|
||||
std::stringstream err;
|
||||
|
||||
// We only know about the chat resource
|
||||
if (client->get_request() != "/chat") {
|
||||
client->set_http_error(404);
|
||||
return false;
|
||||
err << "Request for unknown resource " << client->get_request();
|
||||
throw(handshake_error(err.str(),404));
|
||||
}
|
||||
|
||||
// Require specific origin example
|
||||
if (client->get_header("Sec-WebSocket-Origin") != "http://zaphoyd.com") {
|
||||
client->set_http_error(403);
|
||||
return false;
|
||||
err << "Request from unrecognized origin: "
|
||||
<< client->get_header("Sec-WebSocket-Origin");
|
||||
throw(handshake_error(err.str(),403));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user