<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
httprouter issues with GET/POST WADL Services and Web Routing
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/davesiracusa">Dave Siracusa</a> in <i>JBoss ESB Development</i> - <a href="http://community.jboss.org/message/543285#543285">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>I ran into two issues when using the httprouter (new):</p><p>1) Using this router one must specify the method (get,post,delete, etc) in the configuration tree.  If you route to an external server that supports both GET and POST you are stuck because the method factory is created at init time forcing you to use only one.  I've run into this with a RESTful service I'm pointing to.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>2) Say you point the router to a web server that serves up a page.  This page contains relative links to images.  The text/html content comes back however the images/other content does not.  As a matter of fact you can't specify anything after the base url, its ignored.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>And my router as such:</p><p><action name="httprouter">   </p><p><property name="endpointUrl" value="<a class="jive-link-external-small" href="http://localhost/">http://localhost</a>">   </p><p><http-client-property name="max-total-connections" value="100" />   </p><p><http-client-property name="max-connections-per-host" value="50" />   </p><p></property>   </p><p><property name="method" value="GET" />  </p><p><property name="responseType" value="STRING" /></p><p></action></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Urls like this succeed (partially):</p><p>- <a class="jive-link-external-small" href="http://localhost:8080/Quickstart_async/http/test">http://localhost:8080/Quickstart_async/http/test</a> (returns text/html only).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Urls like this fail (even though they exist):</p><p>- <a class="jive-link-external-small" href="http://localhost:8080/Quickstart_async/http/test/index.htm">http://localhost:8080/Quickstart_async/http/test/index.htm</a></p><p>- <a class="jive-link-external-small" href="http://localhost:8080/Quickstart_async/http/test/welcome.png">http://localhost:8080/Quickstart_async/http/test/welcome.png</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p>I changed the httprouter source:</p><p>1) I added support for comma separated method value (GET,POST,DELETE).  It creates factories in the init() method, caching it as the original author intended. </p><p>2) I added a call to method.setPath in the process method to initialize the path and all is good.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I've attached the source.  </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>BTW - I'm having problems signing the CLA.  I've opened discussions on this.  </p><p>I'd like to create a JIRA and check in my changes.</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/543285#543285">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss ESB Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2032">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>