Unico Hommes wrote:

<snip/>

Why do we need a setStatus() on the response in the flow?

Setting the status should IMO be available only by sending an empty response with redirector.sendStatus(), or through the "status-code" attribute on <map:read> and <map:serialize>.


The status-code attribute on map:read and map:serialize aren't variable-resolved. So doing something like:


flow.js:
function doSomething() {
 var status = helper.doIt();
 sendPage("done/"+status,null);
}

sitemap.js:
<map:match pattern="done/*">
 <map:generate src=".." />
 <map:serialize status-code="{1}" />
</map:match>

Will not work.



Well, let's make status-code variable-resolvable if that's just what's missing!


Instead, now we can do:

flow.js
function doSomething() {
 response.setStatus(helper.doIt());
 sendPage("done",null);
}

sitemap.js:
<map:match pattern="done">
<map:generate src=".." />
<map:serialize />
</map:match>


Moreover, this introduces a dependency on the http environment, which isn't good.



Yeah, that sucks.



So, what about removing it and resolving the status-code? This seems way cleaner to me ;-)


Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Orixo, the opensource XML business alliance  -  http://www.orixo.com




Reply via email to