This commit is contained in:
Mylloon 2023-05-13 15:57:03 +02:00
parent be1fe34aa9
commit 99608caffb
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 23 additions and 12 deletions

View file

@ -1,3 +1,5 @@
open Utils
let connection_payload = let connection_payload =
{| {|
{ {
@ -11,3 +13,9 @@ let connection_payload =
} }
|} |}
;; ;;
let navigate_payload url = fmt {|
{
"url": "%s"
}
|} url

View file

@ -1,28 +1,27 @@
open Cohttp_lwt_unix open Cohttp_lwt_unix
open Utils open Utils
let url = "http://127.0.0.1:4444" let driver_url = "http://127.0.0.1:4444/session"
let send_post_request url json = let send_post_request url json =
let uri = Uri.of_string url in
let headers = Cohttp.Header.init_with "Content-Type" "application/json" in let headers = Cohttp.Header.init_with "Content-Type" "application/json" in
let body = Cohttp_lwt.Body.of_string json in let body = Cohttp_lwt.Body.of_string json in
Lwt.bind (Client.post ~headers ~body uri) (fun (_response, body) -> Lwt.bind
Cohttp_lwt.Body.to_string body) (Client.post ~headers ~body (Uri.of_string url))
(fun (_response, body) -> Cohttp_lwt.Body.to_string body)
;; ;;
let send_delete_request url = let send_delete_request url =
let uri = Uri.of_string url in Lwt.bind
Lwt.bind (Client.delete uri) (fun (_response, body) -> Cohttp_lwt.Body.to_string body) (Client.delete (Uri.of_string url))
(fun (_response, body) -> Cohttp_lwt.Body.to_string body)
;; ;;
let execute_request url json = let execute_request url json = Lwt_main.run (send_post_request url json)
let body = send_post_request url json in
Lwt_main.run body
;;
(* Server MUST be started already *)
let get_session () = let get_session () =
let response = execute_request (fmt "%s/session" url) Json.connection_payload in let response = execute_request (fmt "%s" driver_url) Json.connection_payload in
match Yojson.Safe.from_string response with match Yojson.Safe.from_string response with
| `Assoc fields -> | `Assoc fields ->
let value = List.assoc "value" fields in let value = List.assoc "value" fields in
@ -36,5 +35,9 @@ let get_session () =
;; ;;
let close_session id = let close_session id =
Lwt_main.run (send_delete_request (fmt "%s/session/%s" url id)) = "{\"value\":null}" Lwt_main.run (send_delete_request (fmt "%s/%s" driver_url id)) = "{\"value\":null}"
;;
let navigate url session_id =
execute_request (fmt "%s/%s/url" driver_url session_id) (Json.navigate_payload url)
;; ;;