Fix JSON error handler and save raw Claude response for debugging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-03-09 19:32:50 -07:00
parent 1ca958d11f
commit a5c0d55aa8

View file

@ -2250,18 +2250,13 @@
<cfset javaMap = objectMapper.readValue(responseText, createObject("java", "java.util.LinkedHashMap").getClass())>
<cfset menuData = deserializeJSON(objectMapper.writeValueAsString(javaMap))>
<cfcatch type="any">
<!--- Both parsers failed — dump area around error --->
<!--- Both parsers failed — save raw response to file for debugging --->
<cfset debugFile = expandPath("/uploads/debug_claude_response.json")>
<cfset fileWrite(debugFile, responseText)>
<cfset response["success"] = false>
<cfset response["error"] = "JSON parse error: #cfcatch.message#">
<cfset response["DEBUG_RAW_RESPONSE"] = left(responseText, 2000)>
<cfset response["error"] = "JSON parse error - raw response saved to debug file">
<cfset response["DEBUG_RAW_RESPONSE"] = left(responseText, 3000)>
<cfset response["DEBUG_RESPONSE_LENGTH"] = len(responseText)>
<cfset response["DEBUG_AROUND_24600"] = mid(responseText, 24500, 300)>
<cfset response["DEBUG_CHAR_CODES"] = "">
<cfloop from="24640" to="24660" index="ci">
<cfif ci LTE len(responseText)>
<cfset response["DEBUG_CHAR_CODES"] = response["DEBUG_CHAR_CODES"] & ci & "=" & asc(mid(responseText, ci, 1)) & " ">
</cfif>
</cfloop>
<cfcontent type="application/json" reset="true">
<cfoutput>#serializeJSON(response)#</cfoutput>
<cfabort>