|
@@ -46,43 +46,14 @@ type
|
|
dxBarButton7: TdxBarButton;
|
|
dxBarButton7: TdxBarButton;
|
|
dxBarSubItem2: TdxBarSubItem;
|
|
dxBarSubItem2: TdxBarSubItem;
|
|
tbbtnRun: TdxBarButton;
|
|
tbbtnRun: TdxBarButton;
|
|
- Label2: TLabel;
|
|
|
|
- edtFullURL: TcxTextEdit;
|
|
|
|
- btnRun: TcxButton;
|
|
|
|
PageControlResponse: TcxPageControl;
|
|
PageControlResponse: TcxPageControl;
|
|
tabContent: TcxTabSheet;
|
|
tabContent: TcxTabSheet;
|
|
tabHeaders: TcxTabSheet;
|
|
tabHeaders: TcxTabSheet;
|
|
pnlHeader: TPanel;
|
|
pnlHeader: TPanel;
|
|
dxBarSubItem4: TdxBarSubItem;
|
|
dxBarSubItem4: TdxBarSubItem;
|
|
tbbtnStayOnTop: TdxBarButton;
|
|
tbbtnStayOnTop: TdxBarButton;
|
|
- edtBaseURL: TcxTextEdit;
|
|
|
|
- Label3: TLabel;
|
|
|
|
- btnAdd: TcxButton;
|
|
|
|
cxImageList: TcxImageList;
|
|
cxImageList: TcxImageList;
|
|
- btnDelete: TcxButton;
|
|
|
|
- Label4: TLabel;
|
|
|
|
- btnEdit: TcxButton;
|
|
|
|
- btnCopyPreset: TcxButton;
|
|
|
|
- Label5: TLabel;
|
|
|
|
- Label6: TLabel;
|
|
|
|
- comboMethod: TcxComboBox;
|
|
|
|
- PageControlParams: TcxPageControl;
|
|
|
|
- tabURLParams: TcxTabSheet;
|
|
|
|
- cxTabSheet2: TcxTabSheet;
|
|
|
|
- Panel3: TPanel;
|
|
|
|
- Panel4: TPanel;
|
|
|
|
- Label7: TLabel;
|
|
|
|
- tabPostData: TcxTabSheet;
|
|
|
|
tbbtnAutoOpenLastUsed: TdxBarButton;
|
|
tbbtnAutoOpenLastUsed: TdxBarButton;
|
|
- Label8: TLabel;
|
|
|
|
- Panel5: TPanel;
|
|
|
|
- comboPostContentType: TcxComboBox;
|
|
|
|
- cxTabSheet3: TcxTabSheet;
|
|
|
|
- chkUseBasicAuth: TcxCheckBox;
|
|
|
|
- Label9: TLabel;
|
|
|
|
- edtAuthUsername: TcxTextEdit;
|
|
|
|
- edtAuthPassword: TcxTextEdit;
|
|
|
|
- Label10: TLabel;
|
|
|
|
dxBarButton2: TdxBarButton;
|
|
dxBarButton2: TdxBarButton;
|
|
tbbtnAutoSaveProject: TdxBarButton;
|
|
tbbtnAutoSaveProject: TdxBarButton;
|
|
PopupEditor: TdxBarPopupMenu;
|
|
PopupEditor: TdxBarPopupMenu;
|
|
@@ -94,20 +65,15 @@ type
|
|
pmnuRedoJsonContent: TdxBarButton;
|
|
pmnuRedoJsonContent: TdxBarButton;
|
|
pmnuSelectAll: TdxBarButton;
|
|
pmnuSelectAll: TdxBarButton;
|
|
pmnuCompactJson: TdxBarButton;
|
|
pmnuCompactJson: TdxBarButton;
|
|
- btnCopyFullURL: TcxButton;
|
|
|
|
dxBarDockControl1: TdxBarDockControl;
|
|
dxBarDockControl1: TdxBarDockControl;
|
|
SynIniSyn: TSynIniSyn;
|
|
SynIniSyn: TSynIniSyn;
|
|
SynJSONSyn: TSynJSONSyn;
|
|
SynJSONSyn: TSynJSONSyn;
|
|
EditorContent: TSynEdit;
|
|
EditorContent: TSynEdit;
|
|
EditorResponseHeaders: TSynEdit;
|
|
EditorResponseHeaders: TSynEdit;
|
|
- EditorURLParams: TSynEdit;
|
|
|
|
- EditorExtraHeaders: TSynEdit;
|
|
|
|
- EditorPostData: TSynEdit;
|
|
|
|
SynXMLSyn: TSynXMLSyn;
|
|
SynXMLSyn: TSynXMLSyn;
|
|
pmnuFormatXML: TdxBarButton;
|
|
pmnuFormatXML: TdxBarButton;
|
|
pmnuCompactXML: TdxBarButton;
|
|
pmnuCompactXML: TdxBarButton;
|
|
pmnuBiggerEditor: TdxBarButton;
|
|
pmnuBiggerEditor: TdxBarButton;
|
|
- btnPasteFullURL: TcxButton;
|
|
|
|
SynHTMLSyn: TSynHTMLSyn;
|
|
SynHTMLSyn: TSynHTMLSyn;
|
|
SynEditSearch: TSynEditSearch;
|
|
SynEditSearch: TSynEditSearch;
|
|
SynEditRegexSearch: TSynEditRegexSearch;
|
|
SynEditRegexSearch: TSynEditRegexSearch;
|
|
@@ -129,21 +95,59 @@ type
|
|
memDataVariablesfldValue: TStringField;
|
|
memDataVariablesfldValue: TStringField;
|
|
dsVariables: TDataSource;
|
|
dsVariables: TDataSource;
|
|
memDataVariablesfldType: TStringField;
|
|
memDataVariablesfldType: TStringField;
|
|
- cxGridDBTableView: TcxGridDBTableView;
|
|
|
|
- cxGridLevel1: TcxGridLevel;
|
|
|
|
- cxGrid: TcxGrid;
|
|
|
|
memDataPresets: TdxMemData;
|
|
memDataPresets: TdxMemData;
|
|
dsPresets: TDataSource;
|
|
dsPresets: TDataSource;
|
|
memDataPresetsfldName: TStringField;
|
|
memDataPresetsfldName: TStringField;
|
|
memDataPresetsfldCategory: TStringField;
|
|
memDataPresetsfldCategory: TStringField;
|
|
- cxGridDBTableViewfldName: TcxGridDBColumn;
|
|
|
|
- cxGridDBTableViewfldCategory: TcxGridDBColumn;
|
|
|
|
memDataPresetsfldGuid: TStringField;
|
|
memDataPresetsfldGuid: TStringField;
|
|
cxStyleRepository1: TcxStyleRepository;
|
|
cxStyleRepository1: TcxStyleRepository;
|
|
|
|
+ pnlPresetDetail: TPanel;
|
|
|
|
+ cxSplitter2: TcxSplitter;
|
|
|
|
+ Label6: TLabel;
|
|
|
|
+ comboMethod: TcxComboBox;
|
|
|
|
+ edtBaseURL: TcxTextEdit;
|
|
|
|
+ Label3: TLabel;
|
|
|
|
+ PageControlParams: TcxPageControl;
|
|
|
|
+ tabURLParams: TcxTabSheet;
|
|
|
|
+ Panel3: TPanel;
|
|
|
|
+ Label5: TLabel;
|
|
|
|
+ EditorURLParams: TSynEdit;
|
|
|
|
+ cxTabSheet2: TcxTabSheet;
|
|
|
|
+ Panel4: TPanel;
|
|
|
|
+ Label7: TLabel;
|
|
|
|
+ EditorExtraHeaders: TSynEdit;
|
|
|
|
+ cxTabSheet3: TcxTabSheet;
|
|
|
|
+ Label9: TLabel;
|
|
|
|
+ Label10: TLabel;
|
|
|
|
+ chkUseBasicAuth: TcxCheckBox;
|
|
|
|
+ edtAuthUsername: TcxTextEdit;
|
|
|
|
+ edtAuthPassword: TcxTextEdit;
|
|
|
|
+ tabPostData: TcxTabSheet;
|
|
|
|
+ Panel5: TPanel;
|
|
|
|
+ Label8: TLabel;
|
|
|
|
+ comboPostContentType: TcxComboBox;
|
|
|
|
+ EditorPostData: TSynEdit;
|
|
tabNotes: TcxTabSheet;
|
|
tabNotes: TcxTabSheet;
|
|
Panel6: TPanel;
|
|
Panel6: TPanel;
|
|
Label11: TLabel;
|
|
Label11: TLabel;
|
|
HtmlEditor: THtmlEditor;
|
|
HtmlEditor: THtmlEditor;
|
|
|
|
+ Label4: TLabel;
|
|
|
|
+ edtFullURL: TcxTextEdit;
|
|
|
|
+ btnPasteFullURL: TcxButton;
|
|
|
|
+ btnCopyFullURL: TcxButton;
|
|
|
|
+ btnRun: TcxButton;
|
|
|
|
+ pnlPresets: TPanel;
|
|
|
|
+ cxGrid: TcxGrid;
|
|
|
|
+ cxGridDBTableView: TcxGridDBTableView;
|
|
|
|
+ cxGridDBTableViewfldName: TcxGridDBColumn;
|
|
|
|
+ cxGridDBTableViewfldCategory: TcxGridDBColumn;
|
|
|
|
+ cxGridLevel1: TcxGridLevel;
|
|
|
|
+ Label2: TLabel;
|
|
|
|
+ btnAdd: TcxButton;
|
|
|
|
+ btnEdit: TcxButton;
|
|
|
|
+ btnCopyPreset: TcxButton;
|
|
|
|
+ btnDelete: TcxButton;
|
|
|
|
+ memDataVariablesfldXPath: 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);
|
|
@@ -271,8 +275,7 @@ implementation
|
|
{$R *.dfm}
|
|
{$R *.dfm}
|
|
|
|
|
|
uses System.NetEncoding, System.UITypes, _EncryptStr, JsonDataObjects, IdGlobal, System.IOUtils, uRwXmlDOM,
|
|
uses System.NetEncoding, System.UITypes, _EncryptStr, JsonDataObjects, IdGlobal, System.IOUtils, uRwXmlDOM,
|
|
- _frmBiggerEditor, IdUri, _frmSearch, ShellApi, _frmVariables, RegularExpressions,
|
|
|
|
- _frmAddEditPreset;
|
|
|
|
|
|
+ _frmBiggerEditor, IdUri, _frmSearch, ShellApi, _frmVariables, _frmAddEditPreset;
|
|
|
|
|
|
procedure TfrmMain.tbbtnRunClick(Sender: TObject);
|
|
procedure TfrmMain.tbbtnRunClick(Sender: TObject);
|
|
begin
|
|
begin
|
|
@@ -976,6 +979,7 @@ begin
|
|
MainConfig.WriteInteger('MainWindowPos', 'Height', Height);
|
|
MainConfig.WriteInteger('MainWindowPos', 'Height', Height);
|
|
MainConfig.WriteBool('MainWindowPos', 'StayOnTop', FormStyle = fsStayOnTop);
|
|
MainConfig.WriteBool('MainWindowPos', 'StayOnTop', FormStyle = fsStayOnTop);
|
|
MainConfig.WriteInteger('MainWindowPos', 'HeaderHeight', pnlHeader.Height);
|
|
MainConfig.WriteInteger('MainWindowPos', 'HeaderHeight', pnlHeader.Height);
|
|
|
|
+ MainConfig.WriteInteger('MainWindowPos', 'PresetPanelWidth', pnlPresets.Width);
|
|
|
|
|
|
MainConfig.WriteBool('Search', 'gbSearchBackwards', gbSearchBackwards);
|
|
MainConfig.WriteBool('Search', 'gbSearchBackwards', gbSearchBackwards);
|
|
MainConfig.WriteBool('Search', 'gbSearchCaseSensitive', gbSearchCaseSensitive);
|
|
MainConfig.WriteBool('Search', 'gbSearchCaseSensitive', gbSearchCaseSensitive);
|
|
@@ -1123,6 +1127,7 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
pnlHeader.Height := MainConfig.ReadInteger('MainWindowPos', 'HeaderHeight', 370);
|
|
pnlHeader.Height := MainConfig.ReadInteger('MainWindowPos', 'HeaderHeight', 370);
|
|
|
|
+ pnlPresets.Width := MainConfig.ReadInteger('MainWindowPos', 'PresetPanelWidth', 253);
|
|
|
|
|
|
tbbtnAutoOpenLastUsed.Down := MainConfig.ReadBool('Project', 'AutoOpenLastUsed', True);
|
|
tbbtnAutoOpenLastUsed.Down := MainConfig.ReadBool('Project', 'AutoOpenLastUsed', True);
|
|
tbbtnAutoSaveProject.Down := MainConfig.ReadBool('Project', 'AutoSaveProject', True);
|
|
tbbtnAutoSaveProject.Down := MainConfig.ReadBool('Project', 'AutoSaveProject', True);
|
|
@@ -1220,7 +1225,7 @@ begin
|
|
EditorExtraHeaders.Lines.Text := FProjectConfig.ReadString(preset, 'ExtraHeaders');
|
|
EditorExtraHeaders.Lines.Text := FProjectConfig.ReadString(preset, 'ExtraHeaders');
|
|
EditorPostData.Lines.Text := FProjectConfig.ReadString(preset, 'PostData');
|
|
EditorPostData.Lines.Text := FProjectConfig.ReadString(preset, 'PostData');
|
|
comboPostContentType.Text := FProjectConfig.ReadString(preset, 'PostDataContentType', 'application/json');
|
|
comboPostContentType.Text := FProjectConfig.ReadString(preset, 'PostDataContentType', 'application/json');
|
|
- chkResponseAutoformat.Checked := FProjectConfig.ReadBool(preset, 'ResponseAutoFormat', false);
|
|
|
|
|
|
+ chkResponseAutoformat.Checked := FProjectConfig.ReadBool(preset, 'ResponseAutoFormat', true);
|
|
|
|
|
|
HtmlEditor.HTML.Text := Decode(FProjectConfig.ReadString(preset, 'Notes', ''));
|
|
HtmlEditor.HTML.Text := Decode(FProjectConfig.ReadString(preset, 'Notes', ''));
|
|
|
|
|
|
@@ -1493,10 +1498,9 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
function TfrmMain.ReplaceGlobalVar(const AText: string): string;
|
|
function TfrmMain.ReplaceGlobalVar(const AText: string): string;
|
|
-var
|
|
|
|
- match: string;
|
|
|
|
begin
|
|
begin
|
|
Result := AText;
|
|
Result := AText;
|
|
|
|
+
|
|
memDataVariables.First;
|
|
memDataVariables.First;
|
|
while not memDataVariables.Eof do
|
|
while not memDataVariables.Eof do
|
|
begin
|
|
begin
|
|
@@ -1508,9 +1512,9 @@ begin
|
|
SaveProject;
|
|
SaveProject;
|
|
end;
|
|
end;
|
|
|
|
|
|
- if memDataVariablesfldType.Value = 'RegEx' then
|
|
|
|
|
|
+ if memDataVariablesfldType.Value = 'XPath' then
|
|
begin
|
|
begin
|
|
- match := TRegEx.Match(AText, memDataVariablesfldName.Value, [roMultiLine]).Value;
|
|
|
|
|
|
+ //match := TRegEx.Match(AText, memDataVariablesfldName.Value, [roMultiLine]).Value;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|