SlaveBrowser browser = capturedBrowsers.getBrowser(id);
writer.write(gson.toJson(getResponse(browser)));
}
private StreamMessage getResponse(SlaveBrowser browser) {
StreamMessage cmdResponse = null;
while (cmdResponse == null) {
if (!browser.isAlive()) {
SlaveBrowser deadBrowser = capturedBrowsers.getBrowser(browser.getId());
capturedBrowsers.removeSlave(browser.getId());
Response response = new Response();
BrowserInfo browserInfo = deadBrowser.getBrowserInfo();
response.setBrowser(browserInfo);
response.setResponse(
gson.toJson(
new BrowserPanic(browserInfo,
String.format("Browser unresponsive since %s during %s",
browser.getLastHeartbeat(),
browser.getCommandRunning()))));
response.setType(BrowserPanic.TYPE_NAME);
return new StreamMessage(true, response);
}
cmdResponse = substituteBrowserInfo(browser.getResponse());
}
return cmdResponse;
}