···167167let json_arr items = Jsont.Array (items, none)
168168169169(** Find a member by name in a JSON object's member list. *)
170170-let find_mem name (mems : Jsont.object') =
171171- match Jsont.Json.find_mem name mems with
170170+let mem name (mems : Jsont.object') =
171171+ match Jsont.Json.mem name mems with
172172 | Some (_, v) -> Some v
173173 | None -> None
174174175175(** Extract a string from a JSON value. *)
176176-let get_string_v = function Jsont.String (s, _) -> Some s | _ -> None
176176+let string_v = function Jsont.String (s, _) -> Some s | _ -> None
177177178178(** Extract a float from a JSON value. *)
179179-let get_number_v = function Jsont.Number (n, _) -> Some n | _ -> None
179179+let number_v = function Jsont.Number (n, _) -> Some n | _ -> None
180180181181(** Extract object members from a JSON value. *)
182182-let get_object_v = function Jsont.Object (mems, _) -> Some mems | _ -> None
182182+let object_v = function Jsont.Object (mems, _) -> Some mems | _ -> None
183183184184(** Extract array items from a JSON value. *)
185185-let get_array_v = function Jsont.Array (items, _) -> Some items | _ -> None
185185+let array_v = function Jsont.Array (items, _) -> Some items | _ -> None
186186187187(** Find a string member in an object member list. *)
188188-let find_string name mems =
189189- match find_mem name mems with Some v -> get_string_v v | None -> None
188188+let string_of name mems =
189189+ match mem name mems with Some v -> string_v v | None -> None
190190191191(** Find a number member in an object member list. *)
192192-let find_number name mems =
193193- match find_mem name mems with Some v -> get_number_v v | None -> None
192192+let number_of name mems =
193193+ match mem name mems with Some v -> number_v v | None -> None
194194195195(** Find an object member in an object member list. *)
196196-let find_object name mems =
197197- match find_mem name mems with Some v -> get_object_v v | None -> None
196196+let object_of name mems =
197197+ match mem name mems with Some v -> object_v v | None -> None
198198199199(** Find an array member in an object member list. *)
200200-let find_array name mems =
201201- match find_mem name mems with Some v -> get_array_v v | None -> None
200200+let array_of name mems =
201201+ match mem name mems with Some v -> array_v v | None -> None
202202203203(* -- Other helpers -- *)
204204···256256 | Error e -> Error (Invalid_token (Fmt.str "OIDC discovery: %s" e))
257257 | Ok (Jsont.Object (mems, _)) ->
258258 let get key =
259259- match find_string key mems with
259259+ match string_of key mems with
260260 | Some s -> Ok s
261261 | None ->
262262 Error
···284284 | Error e ->
285285 Error (Invalid_token (Fmt.str "invalid payload JSON: %s" e))
286286 | Ok (Jsont.Object (mems, _)) -> (
287287- match find_string "email" mems with
287287+ match string_of "email" mems with
288288 | Some email when email <> "" -> Ok email
289289 | _ -> (
290290- match find_string "sub" mems with
290290+ match string_of "sub" mems with
291291 | Some sub -> Ok sub
292292 | None ->
293293 Error
···389389 match mems with
390390 | [] -> Error (Rekor_error "empty response")
391391 | ((uuid, _), entry) :: _ -> (
392392- match get_object_v entry with
392392+ match object_v entry with
393393 | None -> Error (Rekor_error "entry is not an object")
394394 | Some entry_mems ->
395395 let get_int key =
396396- match find_number key entry_mems with
396396+ match number_of key entry_mems with
397397 | Some n -> Ok (int_of_float n)
398398 | None -> Error (Rekor_error (Fmt.str "missing %s" key))
399399 in
400400 let get_str key =
401401- match find_string key entry_mems with
401401+ match string_of key entry_mems with
402402 | Some s -> Ok s
403403 | None -> Error (Rekor_error (Fmt.str "missing %s" key))
404404 in
···535535 match json_to_string json with Ok s -> s | Error e -> failwith e
536536537537let req_str key mems err =
538538- match find_string key mems with
538538+ match string_of key mems with
539539 | Some s -> Ok s
540540 | None -> Error (Verification_failed (Fmt.str "missing %s" err))
541541542542let req_obj key mems err =
543543- match find_object key mems with
543543+ match object_of key mems with
544544 | Some o -> Ok o
545545 | None -> Error (Verification_failed (Fmt.str "missing %s" err))
546546547547let parse_certificate_chain vm =
548548- match find_object "certificateChain" vm with
548548+ match object_of "certificateChain" vm with
549549 | Some cc_mems -> (
550550- match find_array "certificates" cc_mems with
550550+ match array_of "certificates" cc_mems with
551551 | Some certs ->
552552 List.filter_map
553553 (fun c ->
554554- match get_string_v c with
554554+ match string_v c with
555555 | Some s -> (
556556 match b64_decode s with Ok d -> Some d | Error _ -> None)
557557 | None -> None)
···560560 | None -> []
561561562562let parse_tlog_entry vm =
563563- match find_array "tlogEntries" vm with
563563+ match array_of "tlogEntries" vm with
564564 | Some (entry :: _) -> (
565565- match get_object_v entry with
565565+ match object_v entry with
566566 | Some e_mems -> (
567567 match
568568- ( find_number "logIndex" e_mems,
569569- find_string "logId" e_mems,
570570- find_number "integratedTime" e_mems,
571571- find_string "body" e_mems )
568568+ ( number_of "logIndex" e_mems,
569569+ string_of "logId" e_mems,
570570+ number_of "integratedTime" e_mems,
571571+ string_of "body" e_mems )
572572 with
573573 | Some log_index, Some uuid, Some integrated_time, Some body_b64 -> (
574574 match b64_decode body_b64 with