And I documented my solution here:
http://www.prodevtips.com/2008/10/06/jquery-and-pico-lisp/ (it works
around the problem by changing jQuery instead of Pico).

It's a way to make the jQuery (http://jquery.com) Ajax by POST work
properly with PicoLisp.

Ironically the target application - a kind of half intelligent feed
reader whose aim is to prioritize content you like rather than trying
to filter out content you don't like - isn't posting by way of Ajax
yet and may never need to do so. GET has sufficed so far and with GET
the problem does not exist.

/Henrik


On Sun, Nov 23, 2008 at 3:26 PM, Alexander Burger <[EMAIL PROTECTED]> wrote:
> Hi Tomas,
>
> yes, this is a bug. It hangs in (line), as you suspected. We discussed
> this problem some time ago with Henrik in the chat. The server is indeed
> waiting for either an EOL or EOF.
>
> When the browser uses HTTP/1.1, together with the "Keep-Alive" option,
> it does not send an EOF after a single transaction (if you try with a
> text browser using HTTP/1.0, like 'w3m', it will work). The picoLisp
> server then accepts chunked transfers.
>
> The problem is that the server does not use the "Content-Length" field
> of the header, but relies on either one-shot transfers for HTTP/1.0 (and
> thus receives EOF), for chunked transfers on HTTP/1.1 (which seem not to
> be used bye browsers for single-line POST data), or at least an EOL
> (which unfortunately also seems not to be sent).
>
>
> The solution would probably be not to use 'line' in
>
>>                   (if (and *MPartLim *MPartEnd)
>>                      (_htMultipart)
>>                      (for L (split (line) '&)
>
> but to read the "Content-Length" in '_htHead', and then replace (line)
> with
>
>   (make
>      (for (N *ContLen (gt0 N))
>         (dec 'N (size (link (char)))) ) )
>
> A bit clumsy. We cannot simply use
>
>   (make (do *ContLen (link (char))))
>
> as this would not work for multi-byte characters.
>
> Cheers,
> - Alex
> --
> UNSUBSCRIBE: mailto:[EMAIL PROTECTED]
>
-- 
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]

Reply via email to