* Added beautify for JSON
This commit is contained in:
parent
61f16f0278
commit
3665c0a6b5
|
@ -26,7 +26,7 @@ uses
|
|||
SysUtils, Classes, strutils, IniFiles,
|
||||
{$ifdef use_synapse}httpsend, ssl_openssl,{$endif}
|
||||
{$ifdef use_fclweb}fphttpclient,{$endif}
|
||||
JTemplate;
|
||||
JTemplate, fpjson, jsonparser;
|
||||
|
||||
var
|
||||
data: TextFile;
|
||||
|
@ -40,6 +40,7 @@ var
|
|||
configDir, templateDir: String;
|
||||
templateFile, templateName: String;
|
||||
sessionIni: TIniFile;
|
||||
beautify: Boolean;
|
||||
|
||||
procedure CmdAskUser(AName: String);
|
||||
var
|
||||
|
@ -92,6 +93,8 @@ var
|
|||
{$ifdef use_fclweb}
|
||||
request, response: TStream;
|
||||
{$endif}
|
||||
jsonParser: TJSONParser;
|
||||
jsonData: TJSONData;
|
||||
begin
|
||||
parser.Content := AURL;
|
||||
parser.Replace;
|
||||
|
@ -150,9 +153,21 @@ begin
|
|||
for s in http.ResponseHeaders do
|
||||
writeln(' ', s);
|
||||
writeln;
|
||||
|
||||
response.Position := 0;
|
||||
content.LoadFromStream(response);
|
||||
writeln(content.Text);
|
||||
|
||||
if beautify and (Pos('application/json', http.GetHeader(http.ResponseHeaders, 'Content-Type')) > 0) then
|
||||
begin
|
||||
jsonParser := TJSONParser.Create(response);
|
||||
jsonData := jsonParser.Parse;
|
||||
writeln(jsonData.FormatJSON);
|
||||
jsonData.Free;
|
||||
jsonParser.Free;
|
||||
end else
|
||||
begin
|
||||
content.LoadFromStream(response);
|
||||
writeln(content.Text);
|
||||
end;
|
||||
|
||||
response.Free;
|
||||
request.Free;
|
||||
|
@ -199,6 +214,11 @@ begin
|
|||
Result := True;
|
||||
CmdBasicAuth(Copy(ALine, 10, Length(ALine)));
|
||||
end else
|
||||
if ALine = 'Beautify' then
|
||||
begin
|
||||
Result := True;
|
||||
beautify := True;
|
||||
end else
|
||||
if AnsiStartsStr('Call ', ALine) then
|
||||
begin
|
||||
Result := True;
|
||||
|
@ -255,6 +275,7 @@ begin
|
|||
|
||||
parser := TJTemplateParser.Create;
|
||||
content := TStringList.Create;
|
||||
beautify := False; //By default, we don't want to manipulate output.
|
||||
|
||||
{$ifdef use_synapse}
|
||||
http := THTTPSend.Create;
|
||||
|
|
Loading…
Reference in New Issue