Do not overload send as this causes issues with folly::dynamic
Summary: folly::dynamic, std::string, implicit constructors and method overloading is not a good combination. This renames the send method to sendRaw as to avoid issues with existing plugins currently sending string params. Reviewed By: mweststrate Differential Revision: D38827539 fbshipit-source-id: 653f62e41ebfbe93d1af25f39c81f6b05bf84cb4
This commit is contained in:
committed by
Facebook GitHub Bot
parent
92d1f7b77a
commit
d1c06c9c46
@@ -524,7 +524,7 @@ class JFlipperConnectionImpl
|
|||||||
}
|
}
|
||||||
|
|
||||||
void sendString(const std::string method, const std::string params) {
|
void sendString(const std::string method, const std::string params) {
|
||||||
_connection->send(std::move(method), std::move(params));
|
_connection->sendRaw(std::move(method), std::move(params));
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendObject(
|
void sendObject(
|
||||||
|
|||||||
@@ -38,7 +38,9 @@ class FlipperConnection {
|
|||||||
identifier.
|
identifier.
|
||||||
Note: The `message` argument is expected to contain a valid JSON.
|
Note: The `message` argument is expected to contain a valid JSON.
|
||||||
*/
|
*/
|
||||||
virtual void send(const std::string& method, const std::string& params) = 0;
|
virtual void sendRaw(
|
||||||
|
const std::string& method,
|
||||||
|
const std::string& params) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Report an error to the Flipper desktop app
|
Report an error to the Flipper desktop app
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class FlipperConnectionImpl : public FlipperConnection {
|
|||||||
socket_->sendMessage(message);
|
socket_->sendMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void send(const std::string& method, const std::string& params) override {
|
void sendRaw(const std::string& method, const std::string& params) override {
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "{"
|
ss << "{"
|
||||||
"\"method\": \"execute\","
|
"\"method\": \"execute\","
|
||||||
@@ -66,8 +66,8 @@ class FlipperConnectionImpl : public FlipperConnection {
|
|||||||
<< "\","
|
<< "\","
|
||||||
"\"params\":"
|
"\"params\":"
|
||||||
<< params << "}}";
|
<< params << "}}";
|
||||||
|
auto message = ss.str();
|
||||||
socket_->sendMessage(ss.str());
|
socket_->sendMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void error(const std::string& message, const std::string& stacktrace)
|
void error(const std::string& message, const std::string& stacktrace)
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ class FlipperConnectionManager {
|
|||||||
Send message to the ws server.
|
Send message to the ws server.
|
||||||
Note: The `message` argument is expected to contain a valid JSON.
|
Note: The `message` argument is expected to contain a valid JSON.
|
||||||
*/
|
*/
|
||||||
virtual void sendMessage(const std::string& message) = 0;
|
virtual void sendMessageRaw(const std::string& message) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Handler for connection and message receipt from the ws server.
|
Handler for connection and message receipt from the ws server.
|
||||||
|
|||||||
@@ -341,7 +341,7 @@ void FlipperConnectionManagerImpl::sendMessage(const folly::dynamic& message) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlipperConnectionManagerImpl::sendMessage(const std::string& message) {
|
void FlipperConnectionManagerImpl::sendMessageRaw(const std::string& message) {
|
||||||
flipperScheduler_->schedule([this, message]() {
|
flipperScheduler_->schedule([this, message]() {
|
||||||
try {
|
try {
|
||||||
if (client_) {
|
if (client_) {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class FlipperConnectionManagerImpl : public FlipperConnectionManager {
|
|||||||
|
|
||||||
void sendMessage(const folly::dynamic& message) override;
|
void sendMessage(const folly::dynamic& message) override;
|
||||||
|
|
||||||
void sendMessage(const std::string& message) override;
|
void sendMessageRaw(const std::string& message) override;
|
||||||
|
|
||||||
void onMessageReceived(
|
void onMessageReceived(
|
||||||
const folly::dynamic& message,
|
const folly::dynamic& message,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class FlipperConnectionManagerMock : public FlipperConnectionManager {
|
|||||||
messages.push_back(message);
|
messages.push_back(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendMessage(const std::string& message) override {
|
void sendMessageRaw(const std::string& message) override {
|
||||||
messages.push_back(folly::parseJson(message));
|
messages.push_back(folly::parseJson(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class FlipperConnectionMock : public FlipperConnection {
|
|||||||
sent_message_history[method].push(params);
|
sent_message_history[method].push(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
void send(const std::string& method, const std::string& params) override {
|
void sendRaw(const std::string& method, const std::string& params) override {
|
||||||
sent_[method] = folly::parseJson(params);
|
sent_[method] = folly::parseJson(params);
|
||||||
sent_message_history[method].push(params);
|
sent_message_history[method].push(params);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user