package aws-route53
Source file getHealthCheckStatus.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59open Types open Aws type input = GetHealthCheckStatusRequest.t type output = GetHealthCheckStatusResponse.t type error = Errors_internal.t let service = "route53" let signature_version = Request.V4 let to_http service region req = let uri = Uri.add_query_params (Uri.of_string (Aws.Util.of_option_exn (Endpoints.url_of service region))) (List.append [("Version", ["2013-04-01"]); ("Action", ["GetHealthCheckStatus"])] (Util.drop_empty (Uri.query_of_encoded (Query.render (GetHealthCheckStatusRequest.to_query req))))) in (`GET, uri, []) let of_http body = try let xml = Ezxmlm.from_string body in let resp = Xml.member "GetHealthCheckStatusResponse" (snd xml) in try Util.or_error (Util.option_bind resp GetHealthCheckStatusResponse.parse) (let open Error in BadResponse { body; message = "Could not find well formed GetHealthCheckStatusResponse." }) with | Xml.RequiredFieldMissing msg -> let open Error in `Error (BadResponse { body; message = ("Error parsing GetHealthCheckStatusResponse - missing field in body or children: " ^ msg) }) with | Failure msg -> `Error (let open Error in BadResponse { body; message = ("Error parsing xml: " ^ msg) }) let parse_error code err = let errors = [] @ Errors_internal.common in match Errors_internal.of_string err with | Some var -> if (List.mem var errors) && ((match Errors_internal.to_http_code var with | Some var -> var = code | None -> true)) then Some var else None | None -> None