| 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']); |
| } |
| } |