MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / ProcessReceivedMessage

Method ProcessReceivedMessage

dotnet/src/webdriver/BiDi/Broker.cs:200–345  ·  view source on GitHub ↗
(ReadOnlySpan<byte> data)

Source from the content-addressed store, hash-verified

198 }
199
200 private void ProcessReceivedMessage(ReadOnlySpan<byte> data)
201 {
202 using var scope = BiDiContext.Use(_bidi);
203 const int TypeSuccess = 1;
204 const int TypeEvent = 2;
205 const int TypeError = 3;
206
207 long? id = default;
208 int messageType = 0;
209 string? method = default;
210 string? error = default;
211 string? message = default;
212 Utf8JsonReader resultReader = default;
213 Utf8JsonReader paramsReader = default;
214 Dictionary<string, JsonElement>? additionalMessageData = null;
215
216 Utf8JsonReader reader = new(data);
217 reader.Read(); // "{"
218
219 reader.Read();
220
221 while (reader.TokenType == JsonTokenType.PropertyName)
222 {
223 if (reader.ValueTextEquals("id"u8))
224 {
225 reader.Read();
226 id = reader.GetInt64();
227 }
228 else if (reader.ValueTextEquals("type"u8))
229 {
230 reader.Read();
231 if (reader.ValueTextEquals("success"u8)) messageType = TypeSuccess;
232 else if (reader.ValueTextEquals("event"u8)) messageType = TypeEvent;
233 else if (reader.ValueTextEquals("error"u8)) messageType = TypeError;
234 }
235 else if (reader.ValueTextEquals("method"u8))
236 {
237 reader.Read();
238 method = reader.GetString();
239 }
240 else if (reader.ValueTextEquals("result"u8))
241 {
242 reader.Read();
243 resultReader = reader; // snapshot
244 }
245 else if (reader.ValueTextEquals("params"u8))
246 {
247 reader.Read();
248 paramsReader = reader; // snapshot
249 }
250 else if (reader.ValueTextEquals("error"u8))
251 {
252 reader.Read();
253 error = reader.GetString();
254 }
255 else if (reader.ValueTextEquals("message"u8))
256 {
257 reader.Read();

Callers

nothing calls this directly

Calls 7

UseMethod · 0.80
ReadMethod · 0.45
DeserializeMethod · 0.45
FromDictionaryMethod · 0.45
IsEnabledMethod · 0.45
WarnMethod · 0.45

Tested by

no test coverage detected