[Dart] Questions about submission methods to a Dart server

Zachary Mark zmark at cleversafe.com
Fri Jun 16 20:50:23 EDT 2006


Hello,

I am in the process of writing an application.  For this application, we 
wish to utilize Dart as a means of collecting unit build and test 
reports.  We currently have a testing framework in place which generates 
XML in a format that our installation of Dart seems to recognize just 
fine (submitted though xmlrpc via the official dartclient).

I have read about the various submission methods by which we can submit 
a test result XML document to a Dart server.  While xmlrpc seems to be 
ideal, we already have a method in place to submit arbitrary data via 
HTTP PUT, so using HTTP PUT allows us the quickest and easiest method of 
implementation.  While I understand that the CTest client can submit by 
any method available, including xmlrpc, we would greatly prefer to not 
be required to include CTest as a part of our software distribution.

What I am looking for is some clarification on how I can use HTTP PUT to 
submit an in-memory buffer containing XML data to a waiting Dart 
server.  For the sake of example, assume that I have a running Dart 
server at http://dart-server.com:8081 and I have a project named 
SampleProject, so that viewing http://dart-server.com:8081/SampleProject 
would bring up the SampleProject dashboard.

Here are some questions related to these assumptions, please tell me if 
I'm completely off-base:

1) Can the running Dart server accept a direct submission via a raw HTTP 
PUT?  For example, I have a method which sends a standard PUT request 
which looks like:
      void sendHTTPPutRequest(std::string url, MemoryBuffer buf)

Assuming that buf contains the XML result that I would be submitting, if 
this method is possible, how would I format the URL so that Dart could 
accept a submission via this method?  I have attempted some permutations 
of this URL but without success.  If it is possible to submit via this 
method, I envision a URL that looks something like 
"http://dart-server.com:8081/SampleProject/SubmissionHandler". 

2) If this is not possible, I believe (though I am not 100% certain) 
that Dart is able to accept submissions via a predefined drop box, which 
seems to be a folder on the Dart server's file system.  For example, I 
send a test result to a waiting servlet which writes the data to a drop 
box folder which Dart polls with some frequency.  Am I correct in my 
assumption that Dart has this drop-box functionality?  If so, the 
servlet that would enable this functionality would be trivial to implement.

Thank you and I am looking forward to your responses.

-- Zachary Mark


More information about the Dart mailing list