RE: ASERVE client and pages larger than ARRAY-TOTAL-SIZE-LIMIT
"MARTINS, Maria Cleci" <[email protected]> Wed, 16 Jul 2003 12:02:09 +0100
| Newsgroups | gmane.lisp.open-source.franz |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone! I am new to Lisp and I would like some help on how to produce webpages using lisp server. I read the tutorial on dynamic HTML, but I am still confused. Please let me know of any references that gives one basic information on how to build a web project using lisp and Allegro server. Thanks, Maria -----Original Message----- From: Andrew Philpot To: [email protected] Cc: [email protected] Sent: 7/15/2003 6:15 PM Subject: ASERVE client and pages larger than ARRAY-TOTAL-SIZE-LIMIT As well as the server functionality of ASERVE, I also find that NET.ASERVE.CLIENT::DO-HTTP-REQUEST, i.e., the client side, is very useful to me. I have run into a problem and am not sure how to proceed. Since DO-HTTP-REQUEST returns a string containing the contents, I can run afoul of ARRAY-TOTAL-SIZE-LIMIT. This limits me to documents no larger that 16MB (in my ACL 6.2 Linux). I'm now dealing with database extracts obtained via HTTP in XML format, and they can easily exceed this limit. My first inclination is to (locally) patch this routine to return a list (or vector) of strings each adhering to the limit. It seems pretty ugly to me. Has anyone encountered this problem with ASERVE, or a similar problem in another set of circumstances and care to offer a workaround? Thanks, Andrew CL-USER(36): (net.aserve.client::do-http-request "http://altamira.isi.edu/large.html") Error: The size of this array 17001732 exceeds array-total-size-limit, 16777216 or is negative [condition type: SIMPLE-ERROR] Restart actions (select using :continue): 0: Return to Top Level (an "abort" restart). 1: Abort entirely from this process. [1] CL-USER(37): array-total-size-limit 16777216 [1] CL-USER(38): (excl::shell "ls -lga /var/www/html/large.html") -rw-r--rw- 1 philpot simsgrp 17001732 Jul 15 10:00 /var/www/html/large.html 0 [1] CL-USER(41): net.aserve::*aserve-version* (1 2 27) .