update!
This commit is contained in:
parent
be1fe34aa9
commit
99608caffb
2 changed files with 23 additions and 12 deletions
|
@ -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
|
||||||
|
|
27
lib/net.ml
27
lib/net.ml
|
@ -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)
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Reference in a new issue