From d92fe94da312c0a69dbe9bd7c2e525c594f20e40 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sat, 17 Nov 2018 19:49:45 -0700 Subject: Rewrite from Lwt to Async --- lib/http.ml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'lib/http.ml') diff --git a/lib/http.ml b/lib/http.ml index b6b0298..dbef903 100644 --- a/lib/http.ml +++ b/lib/http.ml @@ -1,6 +1,6 @@ -open Lwt.Infix +open Async open Cohttp -open Cohttp_lwt_unix +open Cohttp_async module Base = struct exception Invalid_Method @@ -14,19 +14,20 @@ module Base = struct let process_request_body body = body |> Yojson.Basic.to_string - |> Cohttp_lwt.Body.of_string + |> Cohttp_async.Body.of_string let process_request_headers () = - let token = try - Sys.getenv "DISCORD_TOKEN" - with Not_found -> failwith "Please provide a token" in + let token = match Sys.getenv "DISCORD_TOKEN" with + | Some t -> t + | None -> failwith "Please provide a token" + in let h = Header.init_with "User-Agent" "Dis.ml v0.1.0" in let h = Header.add h "Authorization" ("Bot " ^ token) in Header.add h "Content-Type" "application/json" (* TODO Finish processor *) let process_response (_resp, body) = - body |> Cohttp_lwt.Body.to_string >|= Yojson.Basic.from_string + body |> Cohttp_async.Body.to_string >>| Yojson.Basic.from_string let request ?(body=`Null) m path = let uri = process_url path in -- cgit v1.2.3 From a7340eba42bcef93a4e6f9ece7c86043f9a01747 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Sun, 18 Nov 2018 12:04:19 -0700 Subject: Event dispatch and client abstraction --- lib/http.ml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'lib/http.ml') diff --git a/lib/http.ml b/lib/http.ml index dbef903..8d0b679 100644 --- a/lib/http.ml +++ b/lib/http.ml @@ -1,6 +1,5 @@ open Async open Cohttp -open Cohttp_async module Base = struct exception Invalid_Method @@ -34,11 +33,11 @@ module Base = struct let headers = process_request_headers () in let body = process_request_body body in (match m with - | `DELETE -> Client.delete ~headers ~body uri - | `GET -> Client.get ~headers uri - | `PATCH -> Client.patch ~headers ~body uri - | `POST -> Client.post ~headers ~body uri - | `PUT -> Client.put ~headers ~body uri + | `DELETE -> Cohttp_async.Client.delete ~headers ~body uri + | `GET -> Cohttp_async.Client.get ~headers uri + | `PATCH -> Cohttp_async.Client.patch ~headers ~body uri + | `POST -> Cohttp_async.Client.post ~headers ~body uri + | `PUT -> Cohttp_async.Client.put ~headers ~body uri | _ -> raise Invalid_Method) >>= process_response end -- cgit v1.2.3