Repository URL to install this package:
Version:
3.0.0 ▾
|
unit svrclass_XMLRPC;
interface
uses Classes, XMLRPC, svrclass;
type
TServerClassXMLRPCServlet = class(TXMLRPCServlet)
private
FServerClass: TServerClass;
protected
procedure Dispatch(AParser: TXMLRPCParser; AWriter: TXMLRPCWriter; APath: TStrings); override;
published
property ServerClass: TServerClass read FServerClass write FServerClass;
end;
implementation
procedure TServerClassXMLRPCServlet.Dispatch(AParser: TXMLRPCParser; AWriter: TXMLRPCWriter; APath: TStrings);
var
s: String;
begin
s := APath[0];
if s = 'WRITESTRING' then
begin
AParser.ResetValueCursor;
ServerClass.WriteString(AParser.GetPrevString);
AWriter.WriteResponse(nil);
end else if s = 'ADD' then
begin
AParser.ResetValueCursor;
AWriter.WriteResponse(AWriter.CreateIntValue(ServerClass.Add(AParser.GetPrevInt, AParser.GetPrevInt)));
end else
AWriter.WriteFaultResponse(2, 'Invalid method name');
end;
end.