///|
fn BidiProtocol::handle_network_build_before_request_sent_event(
self : BidiProtocol,
request_id : Int,
params : Json?,
) -> Unit {
let input = match
self.normalize_synthetic_network_event_input(request_id, params) {
Some(input) => input
None => return
}
let event = match
self.build_synthetic_before_request_sent_event_json(request_id, input) {
Some(event) => event
None => return
}
self.send_success(request_id, Some(make_object({ "event": event })))
}
///|
fn BidiProtocol::handle_network_build_response_event(
self : BidiProtocol,
request_id : Int,
params : Json?,
) -> Unit {
let input = match
self.normalize_synthetic_network_event_input(request_id, params) {
Some(input) => input
None => return
}
let response_overrides = match
self.normalize_synthetic_network_response_overrides(
request_id,
get_param_raw(params, "responseOverrides"),
) {
Some(response_overrides) => response_overrides
None => return
}
let event = match
self.build_synthetic_response_event_json(
request_id, input, response_overrides,
) {
Some(event) => event
None => return
}
self.send_success(request_id, Some(make_object({ "event": event })))
}
///|
fn BidiProtocol::handle_network_build_fetch_error_event(
self : BidiProtocol,
request_id : Int,
params : Json?,
) -> Unit {
let input = match
self.normalize_synthetic_network_event_input(request_id, params) {
Some(input) => input
None => return
}
let error_text = match get_param_raw(params, "errorText") {
None | Some(Null) => "Request failed"
Some(String(text)) => text
Some(_) => {
self.send_error(
request_id, "invalid argument", "errorText must be a string",
)
return
}
}
let event = match
self.build_synthetic_fetch_error_event_json(request_id, input, error_text) {
Some(event) => event
None => return
}
self.send_success(request_id, Some(make_object({ "event": event })))
}
///|
fn BidiProtocol::handle_network_build_headers_echo_payload(
self : BidiProtocol,
request_id : Int,
params : Json?,
) -> Unit {
let map = match params {
Some(Object(map)) => map
_ => {
self.send_error(
request_id, "invalid argument", "params must be an object",
)
return
}
}
let context_id = match map.get("context") {
Some(String(context_id)) => context_id
_ => {
self.send_error(
request_id, "invalid argument", "context must be a string",
)
return
}
}
if !self.manager.has_session(context_id) {
self.send_error(
request_id,
"no such frame",
"Unknown context: " + context_id,
)
return
}
let request_headers = match
self.normalize_synthetic_network_header_entries(
request_id,
get_map_field_with_alias(map, "requestHeaders", "request_headers"),
) {
Some(request_headers) => request_headers
None => return
}
let payload = self.build_network_headers_echo_payload(
context_id, request_headers,
)
self.send_success(
request_id,
Some(make_object({ "payload": Json::string(payload) })),
)
}