11/**
22 * Represents the core message details for a Raygun error report.
33 * This component aggregates all the different aspects of an error report including
4- * exception details, request information, client data, and environment specifics.
4+ * exception details, request information, client data, environment specifics, and response data .
55 */
66component accessors = " true" {
77
8+ property name = " settings" type = " struct" ;
9+
810 property name = " raygunExceptionMessage" type = " RaygunExceptionMessage" ;
911 property name = " raygunRequestMessage" type = " RaygunRequestMessage" ;
1012 property name = " raygunClientMessage" type = " RaygunClientMessage" ;
1113 property name = " raygunEnvironmentMessage" type = " RaygunEnvironmentMessage" ;
14+ property name = " raygunResponseMessage" type = " RaygunResponseMessage" ;
1215
1316 public RaygunMessageDetails function init (
14- RaygunExceptionMessage raygunExceptionMessage = new RaygunExceptionMessage (),
15- RaygunRequestMessage raygunRequestMessage = new RaygunRequestMessage (),
16- RaygunClientMessage raygunClientMessage = new RaygunClientMessage (),
17- RaygunEnvironmentMessage raygunEnvironmentMessage = new RaygunEnvironmentMessage ()
17+ RaygunExceptionMessage raygunExceptionMessage ,
18+ RaygunRequestMessage raygunRequestMessage ,
19+ RaygunClientMessage raygunClientMessage ,
20+ RaygunEnvironmentMessage raygunEnvironmentMessage ,
21+ RaygunResponseMessage raygunResponseMessage ,
22+ struct settings = {}
1823 ) {
19- setRaygunExceptionMessage ( arguments .raygunExceptionMessage );
20- setRaygunRequestMessage ( arguments .raygunRequestMessage );
21- setRaygunClientMessage ( arguments .raygunClientMessage );
22- setRaygunEnvironmentMessage ( arguments .raygunEnvironmentMessage );
24+ setSettings ( arguments .settings );
25+ setRaygunExceptionMessage (
26+ ! isNull ( arguments .raygunExceptionMessage ) && isInstanceOf (
27+ arguments .raygunExceptionMessage ,
28+ " RaygunExceptionMessage"
29+ ) ? arguments .raygunExceptionMessage : new RaygunExceptionMessage ()
30+ );
31+ setRaygunRequestMessage (
32+ ! isNull ( arguments .raygunRequestMessage ) && isInstanceOf (
33+ arguments .raygunRequestMessage ,
34+ " RaygunRequestMessage"
35+ ) ? arguments .raygunRequestMessage : new RaygunRequestMessage ()
36+ );
37+ setRaygunClientMessage (
38+ ! isNull ( arguments .raygunClientMessage ) && isInstanceOf (
39+ arguments .raygunClientMessage ,
40+ " RaygunClientMessage"
41+ ) ? arguments .raygunClientMessage : new RaygunClientMessage ()
42+ );
43+ setRaygunEnvironmentMessage (
44+ ! isNull ( arguments .raygunEnvironmentMessage ) && isInstanceOf (
45+ arguments .raygunEnvironmentMessage ,
46+ " RaygunEnvironmentMessage"
47+ ) ? arguments .raygunEnvironmentMessage : new RaygunEnvironmentMessage ()
48+ );
49+ setRaygunResponseMessage (
50+ ! isNull ( arguments .raygunResponseMessage ) && isInstanceOf (
51+ arguments .raygunResponseMessage ,
52+ " RaygunResponseMessage"
53+ ) ? arguments .raygunResponseMessage : new RaygunResponseMessage ( settings = getSettings () )
54+ );
55+
2356 return this ;
2457 }
2558
@@ -29,12 +62,8 @@ component accessors="true" {
2962 * that matches Raygun's API expectations.
3063 *
3164 * @issueData The core error data to be processed
32- * @settings Optional configuration settings that may affect how the request data is processed
3365 */
34- public struct function build (
35- required struct issueData ,
36- struct settings = {}
37- ) {
66+ public struct function build ( required struct issueData ) {
3867 var returnContent = {};
3968
4069 // Grouping key allows for custom error grouping in Raygun's dashboard
@@ -58,9 +87,10 @@ component accessors="true" {
5887
5988 // Build the core components of the error report
6089 returnContent [ " error" ] = raygunExceptionMessage .build ( arguments .issueData );
61- returnContent [ " request" ] = raygunRequestMessage .build ( arguments . settings );
90+ returnContent [ " request" ] = raygunRequestMessage .build ( getSettings () );
6291 returnContent [ " client" ] = raygunClientMessage .build ();
6392 returnContent [ " environment" ] = raygunEnvironmentMessage .build ();
93+ returnContent [ " response" ] = raygunResponseMessage .build ( arguments .issueData );
6494
6595 // Include any custom data if provided through a builder object
6696 if ( arguments .issueData .keyExists ( " userCustomData" ) && isObject ( arguments .issueData .userCustomData ) ) {
0 commit comments