Are there really HTTP 1.0 servers out there still? On 2006-09-13, at 12:32 EDT, Jim Grandy wrote:
> This doesn't work in HTTP 1.0, but can we detect HTTP 1.0 and use > the clean solution only for more modern servers? > > On Sep 13, 2006, at 4:18 AM, P T Withington wrote: > >> So the [cache request directive](http://www.w3.org/Protocols/rfc2616/ >> rfc2616-sec14.html#sec14.9.1) is not sufficient? Do we use that? I >> agree with Max, we _really_ need to document kludges like this... >> >> On 2006-09-13, at 01:34 EDT, Max Carlson wrote: >> >>> Adding this extra mystery query arg has always freaked me out. >>> Backends >>> that don't know to ignore it will get confused... At the very >>> least, we >>> need to document this behavior so developer don't get confused also! >>> >>> -Max >>> >>> [EMAIL PROTECTED] wrote: >>>> Author: hqm >>>> Date: 2006-09-12 20:07:10 -0700 (Tue, 12 Sep 2006) >>>> New Revision: 1825 >>>> >>>> Added: >>>> openlaszlo/branches/legals/test/lfc/data/httpsequence.jsp >>>> openlaszlo/branches/legals/test/lfc/data/ >>>> testclientcachebreaker.lzx >>>> Modified: >>>> openlaszlo/branches/legals/WEB-INF/lps/lfc/data/ >>>> LzHTTPDatasource.lzs >>>> openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/ >>>> LzHTTPLoader.js >>>> openlaszlo/branches/legals/test/lfc/data/alldata.lzx >>>> openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx >>>> Log: >>>> Change change.LscKi6240.txt by [EMAIL PROTECTED] /home/hqm/src/ >>>> svn/openlaszlo/branches/legals/WEB-INF/lps/lfc/ on 2006-09-12 >>>> 23:02:57 EDT >>>> >>>> Summary: add cache breaking query arg to SOLO requests >>>> >>>> New Features: >>>> >>>> Bugs Fixed: LPPP-2677 >>>> >>>> Technical Reviewer: (pending) >>>> QA Reviewer: (pending) >>>> Doc Reviewer: (pending) >>>> >>>> Documentation: >>>> >>>> Release Notes: >>>> >>>> Details: >>>> >>>> The cache breaking query arg was only being added to proxied >>>> requests >>>> >>>> >>>> Tests: >>>> >>>> test/lfc/data/alldata.lzx >>>> >>>> >>>> >>>> >>>> Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/data/ >>>> LzHTTPDatasource.lzs >>>> =================================================================== >>>> --- openlaszlo/branches/legals/WEB-INF/lps/lfc/data/ >>>> LzHTTPDatasource.lzs 2006-09-12 22:42:41 UTC (rev 1824) >>>> +++ openlaszlo/branches/legals/WEB-INF/lps/lfc/data/ >>>> LzHTTPDatasource.lzs 2006-09-13 03:07:10 UTC (rev 1825) >>>> @@ -101,7 +101,17 @@ >>>> >>>> if (proxied) { >>>> url = tloader.makeProxiedURL(url, this.reqtype); >>>> - } >>>> + } else { >>>> + // break the browser cache by creating an arg with a >>>> unique value >>>> + if (!forset.clientcacheable) { >>>> + var cachebreak = "__lzbc__="+(new Date()).getTime(); >>>> + if (url.indexOf('?') >= 0) { >>>> + url = url + "&" + cachebreak; >>>> + } else { >>>> + url = url + "?" + cachebreak; >>>> + } >>>> + } >>>> + } >>>> >>>> // [todo hqm 09-2006] For proxied requests, should the HTTP >>>> method >>>> // (GET/POST) of the client->server HTTP method match the >>>> @@ -140,6 +150,11 @@ >>>> forset.rawtext = d.rawtext; >>>> var proxied = this.isProxied(forset); >>>> >>>> + if (d == null) { >>>> + forset.gotError("client could not parse XML from server"); >>>> + return; >>>> + } >>>> + >>>> if (d.childNodes[0].nodeName == "error") { >>>> forset.gotError(d.childNodes[0].attributes['msg']); >>>> return; >>>> >>>> Modified: openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/ >>>> LzHTTPLoader.js >>>> =================================================================== >>>> --- openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/ >>>> LzHTTPLoader.js 2006-09-12 22:42:41 UTC (rev 1824) >>>> +++ openlaszlo/branches/legals/WEB-INF/lps/lfc/kernel/dhtml/ >>>> LzHTTPLoader.js 2006-09-13 03:07:10 UTC (rev 1825) >>>> @@ -230,24 +230,29 @@ >>>> // only if "OK" >>>> if (__pthis__.req.status == 200 || >>>> __pthis__.req.status == 304) { >>>> var elt = null; >>>> - var nodes = >>>> __pthis__.req.responseXML.childNodes; >>>> - //Debug.write('onreadystatechange >>>> resposnexml=', __pthis__.req.responseXML); >>>> - //Debug.info('LzDataset.childNodes', >>>> __pthis__.req.responseXML.nodeName, __pthis__.type); >>>> - // find first content (type == 1) child node >>>> - for (var i = 0; i < nodes.length; i++) { >>>> - var child = nodes.item(i); >>>> - if (child.nodeType == 1) { >>>> - elt = child; >>>> - break; >>>> + var xml = __pthis__.req.responseXML; >>>> + var lzxdata = null; >>>> + if (xml != null) { >>>> + var nodes = >>>> __pthis__.req.responseXML.childNodes; >>>> + // find first content (type == 1) child >>>> node >>>> + for (var i = 0; i < nodes.length; i++) { >>>> + var child = nodes.item(i); >>>> + if (child.nodeType == 1) { >>>> + elt = child; >>>> + break; >>>> + } >>>> } >>>> - } >>>> - __pthis__.removeTimeout(__pthis__); >>>> - var d = LzXMLTranslator.copyXML(elt, >>>> + lzxdata = LzXMLTranslator.copyXML(elt, >>>> >>>> __pthis__.options.trimwhitespace, >>>> >>>> __pthis__.options.nsprefix); >>>> + } >>>> + >>>> __pthis__.responseText = >>>> __pthis__.req.responseText; >>>> - //Debug.write('onreadystatechange >>>> responseText=',__pthis__.req.responseText); >>>> + __pthis__.removeTimeout(__pthis__); >>>> >>>> + Debug.write('onreadystatechange >>>> responseXML=',xml); >>>> + Debug.write('onreadystatechange >>>> responseText=',__pthis__.req.responseText); >>>> + >>>> /**** DEBUGGING >>>> var xmlSerializer = new XMLSerializer(); >>>> var markup = xmlSerializer.serializeToString >>>> (elt); >>>> @@ -255,7 +260,7 @@ >>>> *** /DEBUGGING >>>> */ >>>> >>>> - __pthis__.loadSuccess(__pthis__, d); >>>> + __pthis__.loadSuccess(__pthis__, lzxdata); >>>> } else { >>>> __pthis__.loadError(__pthis__, null); >>>> } >>>> >>>> Modified: openlaszlo/branches/legals/test/lfc/data/alldata.lzx >>>> =================================================================== >>>> --- openlaszlo/branches/legals/test/lfc/data/alldata.lzx >>>> 2006-09-12 22:42:41 UTC (rev 1824) >>>> +++ openlaszlo/branches/legals/test/lfc/data/alldata.lzx >>>> 2006-09-13 03:07:10 UTC (rev 1825) >>>> @@ -18,6 +18,7 @@ >>>> <include href="testrawpost.lzx"/> >>>> <include href="testrawpost-solo.lzx"/> >>>> <include href="testheaderresponse.lzx"/> >>>> + <include href="testclientcachebreaker.lzx"/> >>>> >>>> <TestSuite> >>>> <TestDatanode/> >>>> @@ -35,6 +36,7 @@ >>>> <TestRawPost/> >>>> <TestRawPostSOLO/> >>>> <TestResponseHeaders/> >>>> + <TestClientCacheBreaker/> >>>> </TestSuite> >>>> </canvas> >>>> <!-- * X_LZ_COPYRIGHT_BEGIN >>>> *************************************************** >>>> >>>> Added: openlaszlo/branches/legals/test/lfc/data/httpsequence.jsp >>>> >>>> >>>> Property changes on: openlaszlo/branches/legals/test/lfc/data/ >>>> httpsequence.jsp >>>> ___________________________________________________________________ >>>> Name: svn:mime-type >>>> + text/plain >>>> Name: svn:eol-style >>>> + native >>>> >>>> Added: openlaszlo/branches/legals/test/lfc/data/ >>>> testclientcachebreaker.lzx >>>> >>>> >>>> Property changes on: openlaszlo/branches/legals/test/lfc/data/ >>>> testclientcachebreaker.lzx >>>> ___________________________________________________________________ >>>> Name: svn:mime-type >>>> + text/plain >>>> Name: svn:eol-style >>>> + native >>>> >>>> Modified: openlaszlo/branches/legals/test/lfc/data/ >>>> testsetheaders.lzx >>>> =================================================================== >>>> --- openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx >>>> 2006-09-12 22:42:41 UTC (rev 1824) >>>> +++ openlaszlo/branches/legals/test/lfc/data/testsetheaders.lzx >>>> 2006-09-13 03:07:10 UTC (rev 1825) >>>> @@ -9,9 +9,13 @@ >>>> <attribute name="waitcnt" value="0"/> >>>> >>>> <datapointer xpath="edata:/echo" name="dp" >>>> - oninit="parent.sendit()" >>>> - ondata="parent.dpready = true"/> >>>> + oninit="parent.sendit()" /> >>>> >>>> + <handler reference="edata" name="ondata"> >>>> + Debug.write('testcase got edata ondata'); >>>> + this.dpready = true; >>>> + </handler> >>>> + >>>> <method name="sendit"> >>>> edata.setHeader("content-type", "application/xml"); >>>> edata.setQueryType("POST"); >>>> >>>> >>>> _______________________________________________ >>>> Laszlo-checkins mailing list >>>> [EMAIL PROTECTED] >>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins >>> >>> _______________________________________________ >>> Laszlo-dev mailing list >>> [email protected] >>> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev >> >> >> _______________________________________________ >> Laszlo-dev mailing list >> [email protected] >> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev > _______________________________________________ Laszlo-dev mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
