MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / processMessage

Method processMessage

3rdparty/cppdap/src/session.cpp:297–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

295 }; // EventHandlers
296
297 Payload processMessage(const std::string& str) {
298 auto d = dap::json::Deserializer(str);
299 dap::string type;
300 if (!d.field("type", &type)) {
301 handlers.error("Message missing string 'type' field");
302 return {};
303 }
304
305 dap::integer sequence = 0;
306 if (!d.field("seq", &sequence)) {
307 handlers.error("Message missing number 'seq' field");
308 return {};
309 }
310
311 if (type == "request") {
312 return processRequest(&d, sequence);
313 } else if (type == "event") {
314 return processEvent(&d);
315 } else if (type == "response") {
316 processResponse(&d);
317 return {};
318 } else {
319 handlers.error("Unknown message type '%s'", type.c_str());
320 }
321
322 return {};
323 }
324
325 Payload processRequest(dap::json::Deserializer* d, dap::integer sequence) {
326 dap::string command;

Callers

nothing calls this directly

Calls 4

errorMethod · 0.80
c_strMethod · 0.80
DeserializerClass · 0.50
fieldMethod · 0.45

Tested by

no test coverage detected