blob: f87a61b9c3d7d05730af193d275a9e602fb26c60 [file] [log] [blame]
import 'package:webdriver/src/common/request.dart';
import 'package:webdriver/src/common/session.dart';
import 'package:webdriver/src/common/spec.dart';
import 'package:webdriver/src/common/webdriver_handler.dart';
import 'package:webdriver/src/common/capabilities.dart';
import 'package:webdriver/src/handler/json_wire/utils.dart';
class JsonWireSessionHandler extends SessionHandler {
@override
WebDriverRequest buildCreateRequest({Map<String, dynamic>? desired}) {
desired ??= Capabilities.empty;
return WebDriverRequest.postRequest(
'session', {'desiredCapabilities': desired});
}
@override
SessionInfo parseCreateResponse(WebDriverResponse response) =>
parseInfoResponse(response);
@override
WebDriverRequest buildInfoRequest(String id) =>
WebDriverRequest.getRequest('session/$id');
@override
SessionInfo parseInfoResponse(WebDriverResponse response,
[String? sessionId]) {
final session = parseJsonWireResponse(response, valueOnly: false);
return SessionInfo(
session['sessionId'], WebDriverSpec.JsonWire, session['value']);
}
}