+208
stack/zulip/lib/zulip/lib/jsonu.ml
+208
stack/zulip/lib/zulip/lib/jsonu.ml
···+| Some _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not a string" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not a valid float" key) ()))+| Some _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not a float" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| Some _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not a boolean" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| Some _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not an object" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| Some _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' is not an array" key) ())+| None -> Error (Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Field '%s' not found" key) ())+| _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "%s: expected JSON object" context) ())+| _ -> Error (Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "%s: expected JSON array" context) ())+Error.create ~code:(Other "json_missing_field") ~msg:(Printf.sprintf "Required field '%s' not found" field) ()+Error.create ~code:(Other "json_type_error") ~msg:(Printf.sprintf "Field '%s' type mismatch: expected %s" field expected) ()+| Failure msg -> Error (Error.create ~code:(Other "json_parse_error") ~msg:(Printf.sprintf "%s: %s" context msg) ())+| exn -> Error (Error.create ~code:(Other "json_parse_error") ~msg:(Printf.sprintf "%s: %s" context (Printexc.to_string exn)) ())
+117
stack/zulip/lib/zulip/lib/jsonu.mli
+117
stack/zulip/lib/zulip/lib/jsonu.mli
···+val with_object : string -> ((string * json) list -> ('a, Error.t) result) -> json -> ('a, Error.t) result
+6
-21
stack/zulip/lib/zulip/lib/message_response.ml
+6
-21
stack/zulip/lib/zulip/lib/message_response.ml
···+let automatic_new_visibility_policy = Jsonu.get_string_opt fields "automatic_new_visibility_policy" in-Error (Error.create ~code:(Other "parse_error") ~msg:("Failed to parse message response: " ^ msg) ())-Error (Error.create ~code:(Other "parse_error") ~msg:"Failed to parse message response: missing field" ())-Error (Error.create ~code:(Other "parse_error") ~msg:"Expected JSON object for message response" ())
+9
-25
stack/zulip/lib/zulip/lib/user.ml
+9
-25
stack/zulip/lib/zulip/lib/user.ml
···-Error (Error.create ~code:(Other "json_parse_error") ~msg:("User JSON parsing failed: " ^ Printexc.to_string exn) ())
+3
-11
stack/zulip/lib/zulip_bot/lib/bot_runner.ml
+3
-11
stack/zulip/lib/zulip_bot/lib/bot_runner.ml
·········| Error err -> Error (Zulip.Error.create ~code:(Zulip.Error.Other "parse_error") ~msg:("Failed to parse webhook message: " ^ err) ())
+22
-28
stack/zulip/lib/zulip_bot/lib/bot_storage.ml
+22
-28
stack/zulip/lib/zulip_bot/lib/bot_storage.ml
······
+116
-119
stack/zulip/lib/zulip_bot/lib/message.ml
+116
-119
stack/zulip/lib/zulip_bot/lib/message.ml
······+match user_id_result, Zulip.Jsonu.get_string fields "email", Zulip.Jsonu.get_string fields "full_name" with·········-let content_type = json |> member "content_type" |> to_string_option |> Option.value ~default:"text/html" in+let submessages = Zulip.Jsonu.get_array_opt fields "submessages" |> Option.value ~default:[] in-Log.debug (fun m -> m "Parsing user in display_recipient: %s" (Yojson.Safe.to_string user_json));+Log.warn (fun m -> m "Failed to parse user in display_recipient: %s" (Zulip.Error.message err));·········
+5
-5
stack/zulip/lib/zulip_bot/lib/message.mli
+5
-5
stack/zulip/lib/zulip_bot/lib/message.mli
···············