3 import "Logging" as LOGGER
5 importJava "javax.ws.rs.client.Invocation" where
9 invoke_ :: Invocation -> Class a -> <Proc, Exception> a
11 invoke :: VecComp a => Invocation -> <Proc, Exception> a
12 invoke invocation = invoke_ invocation classObject
14 importJava "javax.ws.rs.client.Invocation$Builder" where
17 header :: Builder -> String -> String -> <Proc> Builder
18 accept :: Builder -> Vector String -> <Proc> Builder
19 cookie :: Builder -> String -> String -> <Proc> Builder
20 build :: Builder -> String -> <Proc> Invocation
22 importJava "javax.ws.rs.client.WebTarget" where
25 path :: WebTarget -> String -> <Proc> WebTarget
26 queryParam :: WebTarget -> String -> Vector String -> <Proc> WebTarget
27 request :: WebTarget -> Vector String -> <Proc> Builder
29 importJava "javax.ws.rs.client.ClientBuilder" where
33 clientBuilder :: <Proc> ClientBuilder
36 buildClient :: ClientBuilder -> Client
38 importJava "javax.ws.rs.client.Client" where
41 target :: Client -> String -> <Proc> WebTarget
42 close :: Client -> <Proc> ()
44 getTextHtmlExample :: String -> Map.T String a -> <Proc, Exception> String
45 getTextHtmlExample uri queryParams = do
46 httpClient = buildClient clientBuilder
47 webTarget = target httpClient uri
48 req = request webTarget (vector ["text/html"])
49 invocation = build req "GET"
50 res = invoke invocation