diff --git a/Source/Core/WiRL.Configuration.Neon.pas b/Source/Core/WiRL.Configuration.Neon.pas index 33f8170..9dd1992 100644 --- a/Source/Core/WiRL.Configuration.Neon.pas +++ b/Source/Core/WiRL.Configuration.Neon.pas @@ -30,6 +30,7 @@ interface function SetIgnoreFieldPrefix(AValue: Boolean): IWiRLConfigurationNeon; function SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon; function SetPrettyPrint(AValue: Boolean): IWiRLConfigurationNeon; + function SetRaiseExceptions(AValue: Boolean): IWiRLConfigurationNeon; function AddSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon; function RemoveSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon; end; @@ -39,6 +40,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon) private FNeonConfiguration: INeonConfiguration; FPrettyPrint: Boolean; + FRaiseExceptions: Boolean; FIgnoreFieldPrefix: Boolean; FMemberCustomCase: TCaseFunc; FUseUTCDate: Boolean; @@ -63,6 +65,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon) function SetIgnoreFieldPrefix(AValue: Boolean): IWiRLConfigurationNeon; function SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon; function SetPrettyPrint(AValue: Boolean): IWiRLConfigurationNeon; + function SetRaiseExceptions(AValue: Boolean): IWiRLConfigurationNeon; function AddSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon; function RemoveSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon; @@ -78,6 +81,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon) property Visibility: TNeonVisibility read FVisibility write FVisibility; property IgnoreFieldPrefix: Boolean read FIgnoreFieldPrefix write FIgnoreFieldPrefix; property UseUTCDate: Boolean read FUseUTCDate write FUseUTCDate; + property RaiseExceptions: Boolean read FRaiseExceptions write FRaiseExceptions; public property Serializers: TNeonSerializerRegistry read FSerializers write FSerializers; end; @@ -101,7 +105,7 @@ constructor TWiRLConfigurationNeon.Create; SetVisibility([mvPublic, mvPublished]); SetUseUTCDate(True); SetPrettyPrint(False); - + SetRaiseExceptions(False); end; class function TWiRLConfigurationNeon.Default: IWiRLConfigurationNeon; @@ -177,6 +181,7 @@ function TWiRLConfigurationNeon.GetNewNeonConfig: INeonConfiguration; .SetIgnoreFieldPrefix(FIgnoreFieldPrefix) .SetUseUTCDate(FUseUTCDate) .SetPrettyPrint(FPrettyPrint) + .SetRaiseExceptions(FRaiseExceptions) .GetSerializers .RegisterSerializer(TJSONValueSerializer) .RegisterSerializer(TGUIDSerializer) @@ -232,6 +237,13 @@ function TWiRLConfigurationNeon.SetPrettyPrint(AValue: Boolean): IWiRLConfigurat Result := Self; end; +function TWiRLConfigurationNeon.SetRaiseExceptions( + AValue: Boolean): IWiRLConfigurationNeon; +begin + FRaiseExceptions := AValue; + Result := Self; +end; + function TWiRLConfigurationNeon.SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon; begin FUseUTCDate := AValue;