On Wed, Sep 14, 2011 at 5:40 PM, Stephan Beal <sgb...@googlemail.com> wrote:

> On Wed, Sep 14, 2011 at 5:31 PM, Martin S. Weber <martin.we...@nist.gov>wrote:
>
>> [1] http://www.w3.org/TR/wsdl#_**http <http://www.w3.org/TR/wsdl#_http>
>> [2] http://www.w3.org/TR/wsdl
>
>
> Thank you very much :). i'll go get myself more informed on the topic...
>

If i'm understanding correctly, WSDL requires that parameters passed to the
server be form-urlencoded. That's not fundamentally a problem, but there is
a current "conflict of interest" regarding who (fossil's core or the JSON
bits) gets to parse the POST data (which we can only do once unless we
buffer it into a Blob first). The current heuristics are:

a) If the Content-Type of the request is application/json or text/plain then
the json/cgi bits try to parse it as JSON. This makes it unavailable to
fossil, as the json/cgi init bits must be run before fossil initializes its
side of the CGI environment (because parts of the fossil internals - namely
error reporting - now account for "JSON mode" and output a JSON error
object).

b) if the Content-Type is form-urlencoded or one of the fossil-specific
types then fossil gets to process it.

c) If we don't know the Content-Type then we ignore (neither consume nor
parse) the POST data.

This works so far, but will fail once we allow the JSON API to read
form-urlencoded data (which it has code to do but it currently does do so
not because that would interfere with (=completely break) ALL of
fossil's POSTed form handling).

In order to resolve this "conflict of interests" i need to add some code to
the json/cgi bits (an external/independent library) to allow delayed reading
of the POST data (it is currently done automatically at lib-init time, which
ends up preempting fossil), so that the fossil code can properly decide who
to feed the POST data to.

Anyway... that's certainly more than anyone really wanted to know.

-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to