Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Source/Core/WiRL.Configuration.Errors.pas
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ function TWiRLConfigurationErrors.SetErrorClass(AClass: ExceptClass): IWiRLConfi

function TWiRLConfigurationErrors.SetErrorDebugInfo(ADebug: Boolean): IWiRLConfigurationErrors;
begin
FErrorDebugInfo := True;
FErrorDebugInfo := ADebug;
Result := Self;
end;

Expand Down
14 changes: 13 additions & 1 deletion Source/Core/WiRL.Configuration.Neon.pas
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -39,6 +40,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon)
private
FNeonConfiguration: INeonConfiguration;
FPrettyPrint: Boolean;
FRaiseExceptions: Boolean;
FIgnoreFieldPrefix: Boolean;
FMemberCustomCase: TCaseFunc;
FUseUTCDate: Boolean;
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -101,7 +105,7 @@ constructor TWiRLConfigurationNeon.Create;
SetVisibility([mvPublic, mvPublished]);
SetUseUTCDate(True);
SetPrettyPrint(False);

SetRaiseExceptions(False);
end;

class function TWiRLConfigurationNeon.Default: IWiRLConfigurationNeon;
Expand Down Expand Up @@ -177,6 +181,7 @@ function TWiRLConfigurationNeon.GetNewNeonConfig: INeonConfiguration;
.SetIgnoreFieldPrefix(FIgnoreFieldPrefix)
.SetUseUTCDate(FUseUTCDate)
.SetPrettyPrint(FPrettyPrint)
.SetRaiseExceptions(FRaiseExceptions)
.GetSerializers
.RegisterSerializer(TJSONValueSerializer)
.RegisterSerializer(TGUIDSerializer)
Expand Down Expand Up @@ -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;
Expand Down
14 changes: 7 additions & 7 deletions Source/Core/WiRL.Core.Exceptions.pas
Original file line number Diff line number Diff line change
Expand Up @@ -349,10 +349,7 @@ constructor EWiRLWebApplicationException.Create(const AMessage: string);

constructor EWiRLWebApplicationException.Create(const AMessage: string; AStatus: Integer);
begin
inherited Create(AMessage);
FStatus := AStatus;
FException := ClassName;
FData := TJSONObject.Create;
Create(AMessage, AStatus, nil);
end;

constructor EWiRLWebApplicationException.Create(const AMessage: string;
Expand All @@ -369,10 +366,13 @@ constructor EWiRLWebApplicationException.Create(const AMessage: string;

constructor EWiRLWebApplicationException.Create(const AMessage: string; AStatus: Integer; AData: TJSONObject);
begin
Create(AMessage, AStatus);
inherited Create(AMessage);
FStatus := AStatus;
FException := ClassName;

if Assigned(AData) then
FData := (AData.Clone as TJSONObject);
if Assigned(AData)
then FData := (AData.Clone as TJSONObject)
else FData := TJSONObject.Create;
end;

constructor EWiRLWebApplicationException.Create(AInnerException: Exception;
Expand Down