Simon Grossenbacher 3 years ago
parent
commit
d9a98d493a

+ 6 - 6
Example Config.rdproj

@@ -1,6 +1,6 @@
 {
 {
 	"Presets": {
 	"Presets": {
-		"LastUsed": "faf2be76254543f9ad9cc8fca91cef5e",
+		"LastUsed": "292047e733934bc48429c4d746cae53a",
 		"ConfigVersion": 3
 		"ConfigVersion": 3
 	},
 	},
 	"Preset_faf2be76254543f9ad9cc8fca91cef5e": {
 	"Preset_faf2be76254543f9ad9cc8fca91cef5e": {
@@ -16,7 +16,7 @@
 		"ResponseAutoFormat": true,
 		"ResponseAutoFormat": true,
 		"PresetName": "GET: Simple GET",
 		"PresetName": "GET: Simple GET",
 		"Guid": "faf2be76254543f9ad9cc8fca91cef5e",
 		"Guid": "faf2be76254543f9ad9cc8fca91cef5e",
-		"Notes": "PHA+U2ltcGxlIEdFVCByZXF1ZXN0LjwvcD4=",
+		"Notes": "PGh0bWw+PGJvZHk+PHA+U2ltcGxlIEdFVCByZXF1ZXN0LjwvcD4NCjwvYm9keT4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KPC9odG1sPg==",
 		"Category": ""
 		"Category": ""
 	},
 	},
 	"Preset_7d37b798c22748eebf92ffa281ba982a": {
 	"Preset_7d37b798c22748eebf92ffa281ba982a": {
@@ -48,7 +48,7 @@
 		"ResponseAutoFormat": true,
 		"ResponseAutoFormat": true,
 		"PresetName": "GET: Use Basic Auth Example",
 		"PresetName": "GET: Use Basic Auth Example",
 		"Guid": "777045dda27d466fab6c051d3e8094e8",
 		"Guid": "777045dda27d466fab6c051d3e8094e8",
-		"Notes": "PHA+R0VUIHJlcXVlc3Qgd2l0aCBiYXNpYyBhdXRoZW50aWNhdGlvbi48L3A+",
+		"Notes": "PGh0bWw+PGJvZHk+PHA+R0VUIHJlcXVlc3Qgd2l0aCBiYXNpYyBhdXRoZW50aWNhdGlvbi48L3A+DQo8L2JvZHk+DQo8L2h0bWw+",
 		"Category": ""
 		"Category": ""
 	},
 	},
 	"Preset_a0745bab53eb4c78a6034f1a9d4559de": {
 	"Preset_a0745bab53eb4c78a6034f1a9d4559de": {
@@ -80,7 +80,7 @@
 		"ResponseAutoFormat": true,
 		"ResponseAutoFormat": true,
 		"PresetName": "POST: Json Post Data",
 		"PresetName": "POST: Json Post Data",
 		"Guid": "292047e733934bc48429c4d746cae53a",
 		"Guid": "292047e733934bc48429c4d746cae53a",
-		"Notes": "PHA+UE9TVCBKc29uIERhdGEuPC9wPg==",
+		"Notes": "PGh0bWw+PGJvZHk+PHA+UE9TVCBKc29uIERhdGEuPC9wPg0KPC9ib2R5Pg0KDQo8L2h0bWw+",
 		"Category": ""
 		"Category": ""
 	},
 	},
 	"Preset_c02b437c22474cf7b44a96c72f430f18": {
 	"Preset_c02b437c22474cf7b44a96c72f430f18": {
@@ -132,7 +132,7 @@
 		"Category": ""
 		"Category": ""
 	},
 	},
 	"Main": {
 	"Main": {
-		"GlobalVar": "fldType\tfldXPath\tfldContent\tfldName\tfldValue\r\nStatic\t\t\t%CustomPostData%\tData 1\r\nXPath\theaders.X-Amzn-Trace-Id\tJSON\t%DynamicVar%\tRoot=1-629cf540-0bde6f12023d5f4013c54b24\r\nXPath\t/slideshow/slide/title\tXML\t%DynamicVarXML%\tWake up to WonderWidgets!\r\nStatic\t\t\t%BaseURL%\thttps://httpbin.org\r\n",
+		"GlobalVar": "fldType\tfldURLFilter\tfldXPath\tfldContent\tfldName\tfldValue\r\nStatic\t\t\t\t%CustomPostData%\tData 1\r\nXPath\t/get\theaders.X-Amzn-Trace-Id\tJSON\t%DynamicVar%\tRoot=1-62bca238-242d6878716cf75403d996d5\r\nXPath\t/xml\t/slideshow/slide/title\tXML\t%DynamicVarXML%\t\r\nStatic\t\t\t\t%BaseURL%\thttps://httpbin.org\r\n",
 		"GridViewPresets": "Bhlmcm1NYWluLmN4R3JpZERCVGFibGVWaWV3BhJUY3hHcmlkREJUYWJsZVZpZXcCCQYJU291cmNlRFBJAgYCYAYGRm9vdGVyAgkGBUZhbHNlBgpHcm91cEJ5Qm94AgkGBFRydWUGDEdyb3VwRm9vdGVycwICBgEABgpOZXdJdGVtUm93AgkGBUZhbHNlBhhFZGl0Rm9ybVVzZURlZmF1bHRMYXlvdXQCCQYEVHJ1ZQYTUm93VXNlRGVmYXVsdExheW91dAIJBgRUcnVlBh9Db2x1bW5zUXVpY2tDdXN0b21pemF0aW9uU29ydGVkAgkGBUZhbHNlBgdWZXJzaW9uAgIGAQECAwYYY3hHcmlkREJUYWJsZVZpZXdmbGROYW1lBg9UY3hHcmlkREJDb2x1bW4CDAYJU291cmNlRFBJAgYCYAYRRmlsdGVyUm93T3BlcmF0b3ICAgYBAAYKR3JvdXBJbmRleAIGAsO/BhRJc0NoaWxkSW5NZXJnZWRHcm91cAIJBgVGYWxzZQYFV2lkdGgCBgPFvgAGDUFsaWdubWVudEhvcnoCAgYBAAYFSW5kZXgCBgIABgdWaXNpYmxlAgkGBFRydWUGCVNvcnRPcmRlcgIJBgtzb0FzY2VuZGluZwYJU29ydEluZGV4AgYCAAYYV2FzVmlzaWJsZUJlZm9yZUdyb3VwaW5nAgkGBUZhbHNlBgpFeHByZXNzaW9uAgkSAAAAAAIABhxjeEdyaWREQlRhYmxlVmlld2ZsZENhdGVnb3J5Bg9UY3hHcmlkREJDb2x1bW4CDAYJU291cmNlRFBJAgYCYAYRRmlsdGVyUm93T3BlcmF0b3ICAgYBAAYKR3JvdXBJbmRleAIGAsO/BhRJc0NoaWxkSW5NZXJnZWRHcm91cAIJBgVGYWxzZQYFV2lkdGgCBgJTBg1BbGlnbm1lbnRIb3J6AgIGAQAGBUluZGV4AgYCAQYHVmlzaWJsZQIJBgRUcnVlBglTb3J0T3JkZXICCQYGc29Ob25lBglTb3J0SW5kZXgCBgLDvwYYV2FzVmlzaWJsZUJlZm9yZUdyb3VwaW5nAgkGBFRydWUGCkV4cHJlc3Npb24CCRIAAAAAAgAGHUNvbmRpdGlvbmFsRm9ybWF0dGluZ1Byb3ZpZGVyBiRUY3hHcmlkQ29uZGl0aW9uYWxGb3JtYXR0aW5nUHJvdmlkZXICAQYFQ291bnQCBgIAAgA="
 		"GridViewPresets": "Bhlmcm1NYWluLmN4R3JpZERCVGFibGVWaWV3BhJUY3hHcmlkREJUYWJsZVZpZXcCCQYJU291cmNlRFBJAgYCYAYGRm9vdGVyAgkGBUZhbHNlBgpHcm91cEJ5Qm94AgkGBFRydWUGDEdyb3VwRm9vdGVycwICBgEABgpOZXdJdGVtUm93AgkGBUZhbHNlBhhFZGl0Rm9ybVVzZURlZmF1bHRMYXlvdXQCCQYEVHJ1ZQYTUm93VXNlRGVmYXVsdExheW91dAIJBgRUcnVlBh9Db2x1bW5zUXVpY2tDdXN0b21pemF0aW9uU29ydGVkAgkGBUZhbHNlBgdWZXJzaW9uAgIGAQECAwYYY3hHcmlkREJUYWJsZVZpZXdmbGROYW1lBg9UY3hHcmlkREJDb2x1bW4CDAYJU291cmNlRFBJAgYCYAYRRmlsdGVyUm93T3BlcmF0b3ICAgYBAAYKR3JvdXBJbmRleAIGAsO/BhRJc0NoaWxkSW5NZXJnZWRHcm91cAIJBgVGYWxzZQYFV2lkdGgCBgPFvgAGDUFsaWdubWVudEhvcnoCAgYBAAYFSW5kZXgCBgIABgdWaXNpYmxlAgkGBFRydWUGCVNvcnRPcmRlcgIJBgtzb0FzY2VuZGluZwYJU29ydEluZGV4AgYCAAYYV2FzVmlzaWJsZUJlZm9yZUdyb3VwaW5nAgkGBUZhbHNlBgpFeHByZXNzaW9uAgkSAAAAAAIABhxjeEdyaWREQlRhYmxlVmlld2ZsZENhdGVnb3J5Bg9UY3hHcmlkREJDb2x1bW4CDAYJU291cmNlRFBJAgYCYAYRRmlsdGVyUm93T3BlcmF0b3ICAgYBAAYKR3JvdXBJbmRleAIGAsO/BhRJc0NoaWxkSW5NZXJnZWRHcm91cAIJBgVGYWxzZQYFV2lkdGgCBgJTBg1BbGlnbm1lbnRIb3J6AgIGAQAGBUluZGV4AgYCAQYHVmlzaWJsZQIJBgRUcnVlBglTb3J0T3JkZXICCQYGc29Ob25lBglTb3J0SW5kZXgCBgLDvwYYV2FzVmlzaWJsZUJlZm9yZUdyb3VwaW5nAgkGBFRydWUGCkV4cHJlc3Npb24CCRIAAAAAAgAGHUNvbmRpdGlvbmFsRm9ybWF0dGluZ1Byb3ZpZGVyBiRUY3hHcmlkQ29uZGl0aW9uYWxGb3JtYXR0aW5nUHJvdmlkZXICAQYFQ291bnQCBgIAAgA="
 	},
 	},
 	"Preset_6fb33f0e705f4c63b30dc64e98b71183": {
 	"Preset_6fb33f0e705f4c63b30dc64e98b71183": {
@@ -148,7 +148,7 @@
 		"ResponseAutoFormat": true,
 		"ResponseAutoFormat": true,
 		"PresetName": "GET: Simple GET XML",
 		"PresetName": "GET: Simple GET XML",
 		"Guid": "6fb33f0e705f4c63b30dc64e98b71183",
 		"Guid": "6fb33f0e705f4c63b30dc64e98b71183",
-		"Notes": "PHA+U2ltcGxlIEdFVCByZXF1ZXN0LjwvcD4=",
+		"Notes": "PGh0bWw+PGJvZHk+PHA+U2ltcGxlIEdFVCByZXF1ZXN0LjwvcD4NCjwvYm9keT4NCg0KDQoNCg0KDQoNCg0KPC9odG1sPg==",
 		"Category": ""
 		"Category": ""
 	}
 	}
 }
 }

BIN
RESTDebugger.exe


+ 6 - 6
prj/RESTDebugger.dproj

@@ -141,9 +141,9 @@
         <DCC_DebugInformation>0</DCC_DebugInformation>
         <DCC_DebugInformation>0</DCC_DebugInformation>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
-        <VerInfo_Keys>FileVersion=2.3.18.77;ProductVersion=1.0.0.0</VerInfo_Keys>
-        <VerInfo_Release>18</VerInfo_Release>
-        <VerInfo_Build>77</VerInfo_Build>
+        <VerInfo_Keys>FileVersion=2.3.21.85;ProductVersion=1.0.0.0</VerInfo_Keys>
+        <VerInfo_Release>21</VerInfo_Release>
+        <VerInfo_Build>85</VerInfo_Build>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
         <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
@@ -153,9 +153,9 @@
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
         <BT_BuildType>Debug</BT_BuildType>
-        <VerInfo_Keys>FileVersion=2.4.20.80;ProductVersion=1.0.0.0;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
-        <VerInfo_Release>20</VerInfo_Release>
-        <VerInfo_Build>80</VerInfo_Build>
+        <VerInfo_Keys>FileVersion=2.4.21.85;ProductVersion=1.0.0.0;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
+        <VerInfo_Release>21</VerInfo_Release>
+        <VerInfo_Build>85</VerInfo_Build>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <Icon_MainIcon>RESTDebugger_Icon.ico</Icon_MainIcon>
         <Icon_MainIcon>RESTDebugger_Icon.ico</Icon_MainIcon>

BIN
prj/RESTDebugger.res


+ 6 - 0
src/_frmMain.dfm

@@ -589,6 +589,8 @@ object frmMain: TfrmMain
               '')
               '')
             TouchScroll = False
             TouchScroll = False
             HighlightTextColor = 0
             HighlightTextColor = 0
+            ScaleMin = 10.000000000000000000
+            ScaleMax = 1000.000000000000000000
             PreserveStyleOnNewBlock = True
             PreserveStyleOnNewBlock = True
             BlockHighlightColor = 1350598816
             BlockHighlightColor = 1350598816
             Encoding = heUTF8
             Encoding = heUTF8
@@ -2097,6 +2099,10 @@ object frmMain: TfrmMain
       FieldName = 'fldType'
       FieldName = 'fldType'
       Size = 10
       Size = 10
     end
     end
+    object memDataVariablesfldURLFilter: TStringField
+      FieldName = 'fldURLFilter'
+      Size = 100
+    end
     object memDataVariablesfldXPath: TStringField
     object memDataVariablesfldXPath: TStringField
       FieldName = 'fldXPath'
       FieldName = 'fldXPath'
       Size = 100
       Size = 100

+ 3 - 3
src/_frmMain.pas

@@ -151,6 +151,7 @@ type
     dxBarSubItem9: TdxBarSubItem;
     dxBarSubItem9: TdxBarSubItem;
     tbbtnWebServicePerformance: TdxBarButton;
     tbbtnWebServicePerformance: TdxBarButton;
     memDataVariablesfldContent: TStringField;
     memDataVariablesfldContent: TStringField;
+    memDataVariablesfldURLFilter: TStringField;
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
@@ -1428,7 +1429,7 @@ begin
             memDataVariables.First;
             memDataVariables.First;
             while not memDataVariables.Eof do
             while not memDataVariables.Eof do
             begin
             begin
-              if (memDataVariablesfldType.Value = 'XPath') and (memDataVariablesfldContent.Value = 'JSON') then
+              if (memDataVariablesfldType.Value = 'XPath') and (memDataVariablesfldContent.Value = 'JSON') and (Pos(memDataVariablesfldURLFilter.Text, edtFullURL.Text) > 0) then
               begin
               begin
                 memDataVariables.Edit;
                 memDataVariables.Edit;
                 memDataVariablesfldValue.Value := jo.Path[memDataVariablesfldXPath.Value].Value;
                 memDataVariablesfldValue.Value := jo.Path[memDataVariablesfldXPath.Value].Value;
@@ -1488,7 +1489,7 @@ begin
           memDataVariables.First;
           memDataVariables.First;
           while not memDataVariables.Eof do
           while not memDataVariables.Eof do
           begin
           begin
-            if (memDataVariablesfldType.Value = 'XPath') and (memDataVariablesfldContent.Value = 'XML') then
+            if (memDataVariablesfldType.Value = 'XPath') and (memDataVariablesfldContent.Value = 'XML') and (Pos(memDataVariablesfldURLFilter.Text, edtFullURL.Text) > 0) then
             begin
             begin
               memDataVariables.Edit;
               memDataVariables.Edit;
               try
               try
@@ -1497,7 +1498,6 @@ begin
                   memDataVariablesfldValue.Value := xml.SelectSingleNode(memDataVariablesfldXPath.Value).NodeValue;
                   memDataVariablesfldValue.Value := xml.SelectSingleNode(memDataVariablesfldXPath.Value).NodeValue;
                 end;
                 end;
               except
               except
-                ShowMessage('nei');
               end;
               end;
               memDataVariables.Post;
               memDataVariables.Post;
               SaveProject;
               SaveProject;

+ 11 - 6
src/_frmVariables.dfm

@@ -5,7 +5,7 @@ object frmVariables: TfrmVariables
   BorderStyle = bsSingle
   BorderStyle = bsSingle
   Caption = 'Variables'
   Caption = 'Variables'
   ClientHeight = 461
   ClientHeight = 461
-  ClientWidth = 716
+  ClientWidth = 917
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
@@ -21,14 +21,14 @@ object frmVariables: TfrmVariables
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 716
+    Width = 917
     Height = 77
     Height = 77
     Align = alTop
     Align = alTop
     BevelOuter = bvNone
     BevelOuter = bvNone
     Color = clWhite
     Color = clWhite
     ParentBackground = False
     ParentBackground = False
     TabOrder = 0
     TabOrder = 0
-    ExplicitWidth = 648
+    ExplicitWidth = 716
     object Label1: TLabel
     object Label1: TLabel
       Left = 25
       Left = 25
       Top = 31
       Top = 31
@@ -44,7 +44,7 @@ object frmVariables: TfrmVariables
     end
     end
   end
   end
   object cxButton1: TcxButton
   object cxButton1: TcxButton
-    Left = 320
+    Left = 425
     Top = 415
     Top = 415
     Width = 75
     Width = 75
     Height = 25
     Height = 25
@@ -55,11 +55,11 @@ object frmVariables: TfrmVariables
   object cxGrid1: TcxGrid
   object cxGrid1: TcxGrid
     Left = 0
     Left = 0
     Top = 77
     Top = 77
-    Width = 716
+    Width = 917
     Height = 325
     Height = 325
     Align = alTop
     Align = alTop
     TabOrder = 2
     TabOrder = 2
-    ExplicitWidth = 648
+    ExplicitWidth = 716
     object cxGrid1DBTableView1: TcxGridDBTableView
     object cxGrid1DBTableView1: TcxGridDBTableView
       Navigator.Buttons.CustomButtons = <>
       Navigator.Buttons.CustomButtons = <>
       Navigator.Buttons.First.Visible = False
       Navigator.Buttons.First.Visible = False
@@ -93,6 +93,11 @@ object frmVariables: TfrmVariables
           'XPath')
           'XPath')
         Width = 83
         Width = 83
       end
       end
+      object cxGrid1DBTableView1fldURLFilter: TcxGridDBColumn
+        Caption = 'URL Filter'
+        DataBinding.FieldName = 'fldURLFilter'
+        Width = 200
+      end
       object cxGrid1DBTableView1fldXPath: TcxGridDBColumn
       object cxGrid1DBTableView1fldXPath: TcxGridDBColumn
         Caption = 'XPath'
         Caption = 'XPath'
         DataBinding.FieldName = 'fldXPath'
         DataBinding.FieldName = 'fldXPath'

+ 1 - 0
src/_frmVariables.pas

@@ -25,6 +25,7 @@ type
     cxGrid1DBTableView1fldType: TcxGridDBColumn;
     cxGrid1DBTableView1fldType: TcxGridDBColumn;
     cxGrid1DBTableView1fldXPath: TcxGridDBColumn;
     cxGrid1DBTableView1fldXPath: TcxGridDBColumn;
     cxGrid1DBTableView1fldContent: TcxGridDBColumn;
     cxGrid1DBTableView1fldContent: TcxGridDBColumn;
+    cxGrid1DBTableView1fldURLFilter: TcxGridDBColumn;
     procedure cxButton1Click(Sender: TObject);
     procedure cxButton1Click(Sender: TObject);
     procedure FormKeyPress(Sender: TObject; var Key: Char);
     procedure FormKeyPress(Sender: TObject; var Key: Char);
   private
   private