12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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.
|