Best way to get http status code and headers from Tab?
Opened this issue · 1 comments
pycui commented
Seems not clear from documentation. There are multiple response type but unclear which one is best to get the status code. Appreciate any pointer!
nandreau commented
You can use interceptors to get the requests and then get the status code from them like :
// Define request patterns
let patterns = vec![
RequestPattern {
url_pattern: None,
resource_Type: None,
request_stage: Some(RequestStage::Response),
},
RequestPattern {
url_pattern: None,
resource_Type: None,
request_stage: Some(RequestStage::Request),
},
];
tab.enable_fetch(Some(&*patterns), Some(true))
.context(t!("connect.enable_fetch_failed"))?;
tab.enable_request_interception(interceptor)?;
impl RequestInterceptor for AuthInterceptor {
fn intercept(
&self,
_transport: Arc<Transport>,
_session_id: SessionId,
event: RequestPausedEvent,
) -> RequestPausedDecision {
if event.params.request.url.contains("/example") {
if let Some(response_status_code) = event.params.response_status_code {
if response_status_code == 401 {
// do what you want here
}
}
}
RequestPausedDecision::Continue(None)
}
}