Hi Alex,

 > properly. I get the "+" in Pico Lisp. Therefor I cannot know whether
 a "+" in Pico Lisp originated as a "+" or a space. I think the
 plus-to-space decoding has to be done at the same time as the %xy
 decoding. Or ...

OK, I understand.

As the %xy decoding happens in 'ht:Pack', you could redefine it
somewhere in your program:

   (redef ht:Pack (Lst)
      (ht:Pack (replace Lst "+" " ")) )

Then you get:

   : (ht:Pack (chop "A+B%2BC%20D"))
   -> "A B+C D"


Strange, however, that spaces end up encoded as '+' in your case. This
happens usually only in query-strings (?).

- Alex

Yes, but I think it is query-strings. When I look at the request in Firebug, it looks exactly like a GET request. If you have Firebug installed in Firefox, or some similar tool available, you could take a look at the request generated by this Demo example:
(Look for "photos_public.gne" in the left column in Firebug, under the Net tab.)

Could it be me doing something wrong in Pico Lisp? Here are the first few lines on my request handler:

(de getDirectory ()
        (let Path (get 'path 'http)
                (out NIL (println "getDirectory request" Path))
                (httpHead "text/javascript; charset=utf-8")
                (ht:Out T

It is in the Path variable that the pluses show up where there should have been spaces.


Reply via email to